@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