3

这是我的 config.xml

<dependency>
    <groupId>org.atmosphere</groupId>
    <artifactId>atmosphere-runtime</artifactId>
    <version>1.0.0.RC1</version>
</dependency>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.5</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-jdk14</artifactId>
    <version>1.7.5</version>
</dependency>

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>

是反例,当 clic 在 3 或 7 之后时:

警告:GRIZZLY0024:终止进程中断。com.sun.grizzly.http 的 java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:414) 的 java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1325) 的 java.lang.InterruptedException。 ProcessorTask.terminateProcess(ProcessorTask.java:1021) 在 com.sun.grizzly.arp.DefaultAsyncExecutor.finishResponse(DefaultAsyncExecutor.java:186) 在 com.sun.grizzly.arp.DefaultAsyncExecutor.finishExecute(DefaultAsyncExecutor.java:210) 在 com .sun.grizzly.arp.AsyncProcessorTask.doTask(AsyncProcessorTask.java:133) 在 com.sun.grizzly.comet.CometEngine.flushPostExecute(CometEngine.java:426) 在 com.sun.grizzly.comet.CometEngine.interrupt0(CometEngine .java:405) 在 com.sun.grizzly.comet.CometEngine.interrupt(CometEngine.

4

1 回答 1

3

我没有尝试过 primefaces-push 但我只是使用Atmosphere(primefaces-push 也在使用 Atmosphere)。为了使它工作,我必须添加这些 JVM 选项:

  • -Dv3.grizzly.cometSupport=true
  • -Djava.net.preferIPv4Stack=true(我不确定 Atmosphere 的最新版本是否仍需要此选项)

也许它可以帮助你。

于 2013-07-09T12:27:01.917 回答