モジュール 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