用于定义新类型事件元数据的元注释。
将
在下面的示例中,定义了一个事务事件,其中包含两个用户定义的注释,@Severity
和 @TransactionId
。
@MetadataDefinition
@Label("Severity")
@Description("值在0到100之间,表示严重程度。100 最严重。")
@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
的声明中,确保信息被飞行记录器保存。
- 自:
- 9