I have a problem with long polling run on GlassFish 3.1.2 (WebSockets suppors should be explicitly switched off in GlassFish admin panel to reproduce this issue).
The problem:
when the long polling connection is active and we are going to change the page (or refresh by F5), the page is not switched (refreshed) immediately. Glassfish holds the connection for about 10 seconds and then responds with 0 bytes.
Got this error in logs (happens when I press F5)
Code: Select all
PWC1406: Servlet.service() for servlet FacesServlet threw exception
java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.setBufferSize(ResponseFacade.java:275)
at com.sun.faces.context.ExternalContextImpl.setResponseBufferSize(ExternalContextImpl.java:799)
at com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:268)
at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125)
at org.primefaces.application.resource.PrimeResourceHandler.handleResourceRequest(PrimeResourceHandler.java:74)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:591)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)...........
Reproducible on GlassFish 3.1.2 (the latest build 5) with switched off WebSocket support (important! because we need long polling, not WebSockets).
Cannot reproduce on JBoss 7 - as usual, JBoss works fine.
Firefox, Chrome and IE9 suffers from this issue (but I'm sure that the problem is on the server side).
I tried to reproduce it on GlassFish 4.1 but I failed because it is impossible to switch off the WebSocket support for GlassFish 4.1 (glassfish bug).
I used PrimeFaces 5.1 with atmosphere-runtime 2.2.2.
The example application (with src) can be downloaded from here:
https://drive.google.com/file/d/0B7XVxg ... sp=sharing
I would highly appreciate any help because we're going to migrate to PrimeFaces and the PMPush working on GF3.1.2 is a vital condition for us.
Thanks in advance and kind regards.