@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