Annotation Interface MetadataDefinition
Meta annotation for defining new types of event metadata.
 
 Adding 
 In the following example, a transaction event is defined with two
 user-defined annotations, @Severity and @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 to the declaration of @Severity and @TransactionId
 ensures the information is saved by Flight Recorder.- Since:
- 9