Efficiency degradation in project using Errai 1.3.1.Final
superfis Dec 15, 2011 10:51 AMI have a project based on Errai 1.3.1.Final (I tried 1.3.2.Final but can't even compile the project due to big changes needed to be done in pom.xml which I can't setup to have it working correctly) and I noticed (by chance) that my application is working fluently until I have open up to 6 applications.
When I open even one more application, all open applications suddenly work very very slow in area of communication with server. All this happens when I use servlet org.jboss.errai.bus.server.servlet.DefaultBlockingServlet, but when my web.xml has servlet org.jboss.errai.bus.server.servlet.JBossCometServlet configured, instead of speed degradation, I receive error like this:
16:40:20,215 ERROR [stderr] (Dispatch Worker Thread) Exception in thread "Dispatch Worker Thread" org.jboss.errai.bus.server.QueueUnavailableException: no queue available to send. (queue or session may have expired)
16:40:20,215 ERROR [stderr] (Dispatch Worker Thread) at org.jboss.errai.bus.server.ServerMessageBusImpl.getQueueByMessage(ServerMessageBusImpl.java:888)
16:40:20,215 ERROR [stderr] (Dispatch Worker Thread) at org.jboss.errai.bus.server.ServerMessageBusImpl.send(ServerMessageBusImpl.java:418)
16:40:20,215 ERROR [stderr] (Dispatch Worker Thread) at org.jboss.errai.bus.client.api.builder.ConversationMessageWrapper.sendNowWith(ConversationMessageWrapper.java:183)
16:40:20,215 ERROR [stderr] (Dispatch Worker Thread) at org.jboss.errai.bus.client.api.builder.AbstractMessageBuilder$1.sendNowWith(AbstractMessageBuilder.java:59)
16:40:20,216 ERROR [stderr] (Dispatch Worker Thread) at org.jboss.errai.bus.client.util.ErrorHelper.sendClientError(ErrorHelper.java:109)
16:40:20,216 ERROR [stderr] (Dispatch Worker Thread) at org.jboss.errai.bus.client.util.ErrorHelper.sendClientError(ErrorHelper.java:79)
16:40:20,216 ERROR [stderr] (Dispatch Worker Thread) at org.jboss.errai.bus.client.util.ErrorHelper.handleMessageDeliveryFailure(ErrorHelper.java:163)
16:40:20,216 ERROR [stderr] (Dispatch Worker Thread) at org.jboss.errai.bus.server.Worker.run(Worker.java:131)
16:40:20,220 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/dms].[ErraiServlet]] (http--127.0.0.1-8080-4) Servlet.service() for servlet ErraiServlet threw exception: java.lang.NullPointerException
at org.jboss.errai.bus.server.servlet.JBossCometServlet.event(JBossCometServlet.java:88) [errai-bus-1.3.1.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilterEvent(ApplicationFilterChain.java:494) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilterEvent(ApplicationFilterChain.java:399) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:273) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:139) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:49) [jboss-as-jpa-7.0.2.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:897) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:626) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2054) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at java.lang.Thread.run(Thread.java:722) [:1.7.0_01]
Interesting is, that after the stacktrace appears, some applications starting working well again, but some other still can't communicate with server.
I completely stuck...
What can be a reason and how to prevent this strange behaviour?