モジュール jdk.jfr
パッケージ jdk.jfr

注釈インタフェースMetadataDefinition


@Retention(RUNTIME) @Target(TYPE) public @interface MetadataDefinition
新しいタイプのイベント・メタデータを定義するためのメタ注釈。

次の例では、2つのユーザー定義注釈(@Severityおよび@TransactionId)を使用してトランザクション・イベントが定義されています。

 @MetadataDefinition
 @Label("Severity")
 @Description("Value between 0 and 100 that indicates severity. 100 is most severe.")
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.TYPE})
 public @interface Severity {
     int value() default 50;
 }

 @MetadataDefinition
 @Label("Transaction Id")
 @Relational
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.FIELD})
 public @interface TransactionId {
 }

 @Severity(80)
 @Label("Transaction Blocked")
 class TransactionBlocked extends Event {
     @TransactionId
     @Label("Transaction")
     long transactionId1;

     @TransactionId
     @Label("Transaction Blocker")
     long transactionId2;
 }
 
@Severity@TransactionIdの宣言への@MetadataDefinitionの追加により、Flight Recorderで情報が保存されます。

導入されたバージョン:
9