用于定义新型事件元数据的元注解。
将
在以下示例中,事务事件使用两个用户定义的注释 @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;
}
@MetadataDefinition 添加到 @Severity 和 @TransactionId 的声明中可确保信息由 Flight Recorder 保存。
- 自从:
- 9