我使用Primefaces Push(3.4中的新东西)和jsf2和ejb3。单独.war和ejb.jar
现在我需要从ejb层触发一个推送事件。干净的方法是什么?我能想到的一些选择:
基本上问题是在哪里放下代码?
PushContext pushContext = PushContextFactory.getDefault().getPushContext();
pushContext.push("/notifications", new FacesMessage(summary, detail));
答案 0 :(得分:0)
我的工作是什么,我没有考虑上面的任何想法,只是添加了从EJB层访问氛围API所需的依赖项。
MANIFEST.MF for ejb.jar:
Manifest-Version: 1.0
Class-Path:
atmosphere-runtime-1.0.1.jar
atmosphere-compat-jbossweb-1.0.1.jar
atmosphere-compat-tomcat7-1.0.1.jar
atmosphere-compat-tomcat-1.0.1.jar
在pom.xml中为ejb.jar和application.ear
<dependency>
<groupId>org.atmosphere</groupId>
<artifactId>atmosphere-runtime</artifactId>
<version>1.0.1</version>
<scope>provided</scope>
</dependency>
然后简单地将两个包从primefaces源复制到ejb.jar
org.primefaces.push
org.primefaces.json
因为在pom.xml中为ejb.jar添加了primefaces导致了
Missing artifact org.primefaces:primefaces