我正在尝试让 EJB 观察者模式发挥作用,从这样的示例来看,它看起来非常简单:
http://www.devchronicles.com/2011/11/javaee-revisits-design-patterns_28.html
但是当我实现该方法时:
public void doLogging(@Observes String message){
System.out.println("Observed:"+message);
}
@Observer 注释导入未插入。
如果我手动执行此操作:
import javax.enterprise.event.Observes;
它不起作用,看起来我没有类/jar。
我正在使用 EJB 3.0,希望这不仅仅出现在 3.1 中。 如果是这种情况,我如何获得 EJB 3.0 中的观察者模式?
最佳答案
它不是 EJB 的一部分,但是 CDI (JSR-299)。
CDI 是自 Java EE 6 以来的新增内容,它还涵盖 EJB 3.1。由于您手头只有 EJB 3.0,这意味着您仍在使用 Java EE 5。目前我们已经使用 Java EE 7。是时候升级了。
Java EE 7 服务器的示例包括 JBoss WildFly 8.x、Oracle GlassFish 4.x、Apache TomEE 2.x 和 IBM WebSphere 9.x。 Java EE 6 服务器的示例包括 JBoss AS 6.x/7.x、Oracle GlassFish 3.x、Apache TomEE 1.x 和 IBM WebSphere 8.x。
另请参阅:
关于java - 获取在我的 Web 应用程序上运行的 EJB 的观察者模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30269083/