我观察某些课程的事件。
@Stateless
public class MyBean {
public void process(@Observes Node) {
// some logic
}
}
现在我想创建子类,它只能用限定符捕获Node
个事件。
@Stateless
public class MySubBean extends MyBean {
@Override
public void process(@Observes @MyQualifier Node) {
// some logic
}
}
但是MySubBean
仍会获得所有Node
个事件,并且没有限定符。同时从@Observes
删除@MyQualifier
和MySubBean
并不会改变任何内容 - 仍会调用方法。
根据doc:
观察者方法由bean子类继承。
这很棒,但是有没有选项可以覆盖它并在超类中观察具有不同限定符的事件?
我正在使用WildFly 10.1。
答案 0 :(得分:0)
如果您想要替换超类,可以尝试CDI专业化。这样,只应该考虑子类。
http://docs.jboss.org/cdi/spec/2.0/cdi-spec.html#specialize_session_bean