I have to deal with a very strange problem which I just don't understand:
I have a J2EE Application running on Glassfish 4 with Primefaces 5. So I wanted to test the Primefaces Push and started with the counter example from the Primefaces showcase page (http://www.primefaces.org/showcase/push/counter.xhtml).
Showcase works fine on all browsers including IE8 (with the long-polling fallback). But I had a problem with the IE8 on my server, it just did't work.
After several hours of digging I found out that my CDI Conversation Filter, which I have declared in my web.xml:
Code: Select all
<filter>
<filter-name>ca3HttpFilter</filter-name>
<filter-class>ch.carauktion.general.ui.filter.CA3HttpFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ca3HttpFilter</filter-name>
<url-pattern>/*</url-pattern>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>CDI Conversation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
The filter makes nothing except of handling a NonexistentConversationException:
Code: Select all
public class CA3HttpFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
try {
chain.doFilter(request, response);
} catch (NonexistentConversationException e) {
onNonexistingConversationException(e, request, response);
}
}
...
}
Thanks!
----------------------
Dependencies:
- glassfish-embedded 4.0.1-SNAPSHOT with mojarra jsf 2.2.4
primefaces 5.1
atmosphere-runtime 2.2.2