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