モジュール 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 @Severity {
 }

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

  @TransactionId
  @Label("Transaction Blocker");
   long transactionId;
 }

 
 
@Severity@TransactionIdの宣言への@MetadataDefinitionの追加により、Flight Recorderで情報が保存されます。

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