2

我正在使用:
Glassfish 3.1.2.2 (build 5)
Primefaces 3.4.1
Linux 上的 Firefox 10.0.0.7

Primefaces Push 是否适用于 Glassfish?我问是因为当我点击我的 *.xhtml 页面时,我不断收到 ClassNotFoundExceptions。所以我会得到一个未找到的异常,下载 jar 并找不到添加新类。到目前为止,我有这些罐子......

大气彗星-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"));

非常感谢任何帮助。

4

1 回答 1

1

在 glassfish 3.1.2 和 primefaces 3.4 中

我添加以下内容以使 facesmessage 示例正常工作。

网页.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>
于 2012-10-19T14:07:27.643 回答