illegalstateexception - ResponseFacade.setBufferSize

UI Components for JSF
Post Reply
socko777
Posts: 2
Joined: 04 Sep 2012, 07:35

27 Jul 2016, 05:59

Hi all,

I am using PrimeFaces 5.3 with Atmosphere 2.4.5 and long-polling sockets on JBoss EAP 6.4. I am using the native libraries for atmosphere:

Code: Select all

    <dependency>
    <groupId>org.atmosphere</groupId>
    <artifactId>atmosphere-runtime-native</artifactId>
    <version>2.4.5</version>
    <exclusions>
    <exclusion>
    <groupId>org.atmosphere</groupId>
    <artifactId>atmosphere-compat-jbossweb</artifactId>
    </exclusion>
    </exclusions>
    </dependency>
I am also using jboss web native libraries.

Here is my socket, resource and util i use to invoke the push:

Code: Select all

					<p:socket channel="/Common/Notification/#{userContext.username}"
						onMessage="handleCommonNotification" />

Code: Select all

@PushEndpoint("{channel}")
@Singleton
public class CommonPushNotificationResource {

    @OnMessage(encoders = { JSONEncoder.class })
    public CommonPushNotificationDTO onMessage(final CommonPushNotificationDTO dto) {
        return dto;
    }

}

Code: Select all

public final class CommonPushNotificationUtil {

    private static final GenericLogger LOGGER = new GenericLogger(CommonPushNotificationUtil.class);

    private CommonPushNotificationUtil() {
    }

    /**
     * Send broadcast notification to specified user
     * 
     * @param user
     * @param dto
     */
    public static void broadcastToUser(final String user, final CommonPushNotificationDTO dto) {
        String channel = MessageFormat.format("/Common/Notification/{0}", user);

        LOGGER.debug("Sending {} to {}", dto, channel);

        sendNotification(channel, dto);
    }

    private static void sendNotification(final String channel, final CommonPushNotificationDTO dto) {
        final EventBus eventBus = EventBusFactory.getDefault().eventBus();
        eventBus.publish(channel, dto);
    }

}
The push notification works fine for a while, but after that it throws the following exception:

Code: Select all

ERROR
	at org.apache.catalina.connector.ResponseFacade.setBufferSize(ResponseFacade.java:225) [jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
	at javax.servlet.ServletResponseWrapper.setBufferSize(ServletResponseWrapper.java:187) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-2.jar:1.0.2.Final-redhat-2]
	at javax.servlet.ServletResponseWrapper.setBufferSize(ServletResponseWrapper.java:187) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-2.jar:1.0.2.Final-redhat-2]
	at javax.servlet.ServletResponseWrapper.setBufferSize(ServletResponseWrapper.java:187) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-2.jar:1.0.2.Final-redhat-2]
	at com.sun.faces.context.ExternalContextImpl.setResponseBufferSize(ExternalContextImpl.java:854) [jsf-impl-2.1.28.SP10-redhat-1.jar:2.1.28.SP10-redhat-1]
	at javax.faces.context.ExternalContextWrapper.setResponseBufferSize(ExternalContextWrapper.java:741) [jboss-jsf-api_2.1_spec-2.1.28.SP2-redhat-1.jar:2.1.28.SP2-redhat-1]
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.createResponseWriter(FaceletViewHandlingStrategy.java:1080) [jsf-impl-2.1.28.SP10-redhat-1.jar:2.1.28.SP10-redhat-1]
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399) [jsf-impl-2.1.28.SP10-redhat-1.jar:2.1.28.SP10-redhat-1]
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125) [jsf-impl-2.1.28.SP10-redhat-1.jar:2.1.28.SP10-redhat-1]
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:286) [jboss-jsf-api_2.1_spec-2.1.28.SP2-redhat-1.jar:2.1.28.SP2-redhat-1]
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:286) [jboss-jsf-api_2.1_spec-2.1.28.SP2-redhat-1.jar:2.1.28.SP2-redhat-1]
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:286) [jboss-jsf-api_2.1_spec-2.1.28.SP2-redhat-1.jar:2.1.28.SP2-redhat-1]
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120) [jsf-impl-2.1.28.SP10-redhat-1.jar:2.1.28.SP10-redhat-1]
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.28.SP10-redhat-1.jar:2.1.28.SP10-redhat-1]
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) [jsf-impl-2.1.28.SP10-redhat-1.jar:2.1.28.SP10-redhat-1]
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) [jboss-jsf-api_2.1_spec-2.1.28.SP2-redhat-1.jar:2.1.28.SP2-redhat-1]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
	at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:100) [primefaces-5.3.jar:5.3]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
	at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:178) [spring-orm-4.3.1.RELEASE.jar:4.3.1.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.1.RELEASE.jar:4.3.1.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.17.Final-redhat-1.jar:7.5.17.Final-redhat-1]
After it does, my JSF pages stop responding (cannot click any buttons, etc).

Here is my pushservlet configuration:

Code: Select all

 <servlet>
    <servlet-name>Push Servlet</servlet-name>
    <servlet-class>org.primefaces.push.PushServlet</servlet-class>
    <init-param>
      <param-name>org.atmosphere.cpr.broadcasterCacheClass</param-name>
      <param-value>org.atmosphere.cache.UUIDBroadcasterCache</param-value>
    </init-param>
    <init-param>
      <param-name>org.atmosphere.websocket.suppressJSR356</param-name>
      <param-value>true</param-value>
    </init-param>
    <init-param>
      <param-name>org.atmosphere.useNative</param-name>
      <param-value>true</param-value>
    </init-param>
    <init-param>
      <param-name>org.atmosphere.useWebSocket</param-name>
      <param-value>false</param-value>
    </init-param>
    <init-param>
      <param-name>org.atmosphere.useWebSocketAndServlet3</param-name>
      <param-value>false</param-value>
    </init-param>
    <init-param>
      <param-name>org.atmosphere.cpr.AtmosphereFramework.analytics.analytics</param-name>
      <param-value>false</param-value>
    </init-param>
    <init-param>
      <param-name>org.atmosphere.cpr.CometSupport.maxInactiveActivity</param-name>
      <param-value>1800000</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Push Servlet</servlet-name>
    <url-pattern>/primepush/*</url-pattern>
  </servlet-mapping>
Any help would be greatly appreciated.
PrimeFaces 5.2, Mojarra 2.1.28, JBoss EAP 6.3

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 25 guests