我正在使用:
Glassfish 3.1.2.2(build 5)
Primefaces 3.4.1
Linux上的Firefox 10.0.0.7
Primefaces Push是否适用于Glassfish?我问,因为当我点击我的* .xhtml页面时,我不断获得ClassNotFoundExceptions。所以我会得到一个未找到的异常,下载jar并添加新类未找到。到目前为止,我有这些罐子......
大气的cometd-1.0.2.jar
大气运行时1.0.2.jar
cataline-6.0.20.jar
但我的下一个ClassNotFoundException是org.jboss.servlet.http.HttpEventServlet,因为我正在使用Glassfish,这让我想知道我是否正确行事。
我所要做的就是通过primepush从MDB向网页发送消息,并将其显示为咆哮声中的通知。
我已将以下内容添加到我的web.xml中。
<servlet>
<servlet-name>Push Servlet</servlet-name>
<servlet-class>org.primefaces.push.PushServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Push Servlet</servlet-name>
<url-pattern>/primepush/*</url-pattern>
</servlet-mapping>
这是我的* .xhtml
<script type="text/javascript">
function handleMessage(msg) {
msg.severity = 'info';
grow.show([msg]);
}
</script>
<p:socket channel="/notifications" onMessage="handleMessage"/>
这是我的消息驱动bean。
PushContext pushContext = PushContextFactory.getDefault().getPushContext();
pushContext.push("/notifications", new FacesMessage("Test Summary", "Test Detail"));
任何帮助都非常感激。
答案 0 :(得分:1)
in glassfish 3.1.2和primefaces 3.4
我添加以下内容以使facesmessage示例起作用。
的web.xml:
<servlet>
<servlet-name>Push Servlet</servlet-name>
<servlet-class>org.primefaces.push.PushServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Push Servlet</servlet-name>
<url-pattern>/primepush/*</url-pattern>
</servlet-mapping>
<context-param>
<param-name>primefaces.PUSH_SERVER_URL</param-name>
<param-value>http://localhost:8080</param-value>
</context-param>
pom.xml(适用于maven)
<dependency>
<groupId>org.atmosphere</groupId>
<artifactId>atmosphere-runtime</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>3.4.1</version>
</dependency>