Test @ManagedNotification as a merged, composed annotation
Issue: SPR-13973
This commit is contained in:
parent
54aeb7a5d6
commit
4fa11e334f
|
|
@ -16,7 +16,13 @@
|
|||
|
||||
package org.springframework.jmx.export.annotation;
|
||||
|
||||
import java.lang.annotation.Inherited;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
import org.springframework.core.annotation.AliasFor;
|
||||
import org.springframework.jmx.IJmxTestBean;
|
||||
import org.springframework.jmx.export.annotation.AnnotationTestBean.MyManagedNotification;
|
||||
import org.springframework.jmx.support.MetricType;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -28,7 +34,7 @@ import org.springframework.stereotype.Service;
|
|||
@ManagedResource(objectName = "bean:name=testBean4", description = "My Managed Bean", log = true,
|
||||
logFile = "jmx.log", currencyTimeLimit = 15, persistPolicy = "OnUpdate", persistPeriod = 200,
|
||||
persistLocation = "./foo", persistName = "bar.jmx")
|
||||
@ManagedNotification(name="My Notification", notificationTypes={"type.foo", "type.bar"})
|
||||
@MyManagedNotification(notificationTypes = { "type.foo", "type.bar" })
|
||||
public class AnnotationTestBean implements IJmxTestBean {
|
||||
|
||||
private String name;
|
||||
|
|
@ -117,4 +123,17 @@ public class AnnotationTestBean implements IJmxTestBean {
|
|||
return 3;
|
||||
}
|
||||
|
||||
|
||||
@ManagedNotification(name = "My Notification", notificationTypes = {})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Inherited
|
||||
public static @interface MyManagedNotification {
|
||||
|
||||
@AliasFor(annotation = ManagedNotification.class)
|
||||
String description() default "";
|
||||
|
||||
@AliasFor(annotation = ManagedNotification.class)
|
||||
String[] notificationTypes();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue