PrimeFaces推和Glassfish

时间:2012-10-19 01:12:00

标签: primefaces glassfish

我正在使用:
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"));

任何帮助都非常感激。

1 个答案:

答案 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>