在我的 Web 应用程序上运行的 EJB 上获取观察者模式

Get Observer pattern on EJBs working on my web app

我正在尝试让 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;

好像我没有 classes/jars.

它不起作用

我正在使用 EJB 3.0,希望它不仅仅出现在 3.1 中。 如果是这种情况,我如何才能在 EJB 3.0 中获得观察者模式?

它不是 EJB, but of CDI (JSR-299 的一部分)。

CDI 是自 JavaEE 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 .

另请参阅:

  • What is Weld, JSR-299?