我有一个抽象的超类:
public abstract class A<T extends Other> extends B {...}
定义的另一个类
@ViewScoped
和
@Named
正在扩展:
public class C extends A<OtherSub> implements Serializable {...}
到目前为止,这还没有问题。
现在我想在超类中添加observer方法
A
一般处理CDI事件,例如:
public void entityCreated(@Observes(notifyObserver = Reception.IF_EXISTS) @Created EntityChangedEvent event) {...}
但部署此wildfly会在部署期间引发异常:
WELD-000404:条件观察者方法不能由@Dependent scoped bean声明:[BackedAnnotatedMethod]public a.entityCreated(@Observes@Created EntityChangedEvent)
我知道我可以创建没有
notifyObserver
条件,但这有一个效果,即在CDI事件发生时将创建并通知其他bean,这是我想要阻止的。
有没有办法使用
notifyObserver
泛型超类中的条件?或者我需要在没有该条件的情况下使用它,分别在具体的子类中实现它吗?