将观察到的限定符添加到CDI可移植扩展中的观察者方法

时间:2013-06-17 08:10:02

标签: java-ee cdi

我在便携式CDI扩展中使用以下代码,为观察者方法声明添加“默认”限定符。

void processObserverMethod(@Observes ProcessObserverMethod<? extends ConfigurableEvent<?>, ?> observerMethod) {
    Set<Annotation> qualifiers = observerMethod.getObserverMethod().getObservedQualifiers();
    if (!qualifiers.contains(new AnnotationLiteral<Special>() {})) {
        qualifiers.add(new AnnotationLiteral<Normal>() {});
    }

目标是,有两个互斥的限定符NormalSpecial,以避免在每个观察者声明中声明Normal

代码适用于Weld 1.1但不适用于2.0。我打开了一个bug但是Weld的家伙告诉我CDI规格不支持。

有没有人知道另一种获得相同结果的方法?

0 个答案:

没有答案