You still get that error?  I'm pretty sure I fixed it.
On 2010-01-21, at 10:54 AM, Kevin Jordan wrote:

Yeah, although I get that error about the misconfiguration I posted a while back.  I figured out how to get rid of the errors at least, using ProxyPreserveHost On in Apache to pass theHost: line from the incoming request gets rid of any errors, however, it still seems to hit some connection limit.  Hopefully that at least helps someone who gets errors from Errai while backended behind Apache.
 
-----Original Message-----
From: Mike Brock [mailto:cbrock@redhat.com] 
Sent: Thursday, January 21, 2010 9:31 AM
To: Kevin Jordan
Cc: errai-users@lists.jboss.org
Subject: Re: [errai-users] Trouble sending messages
 
Have you tried using the TomcatCometServlet, which using non-blocking I/O?
 
On 2010-01-20, at 5:56 PM, Kevin Jordan wrote:
 
> Some messages go through correctly, like the ones at the beginning. 
> And if the GET connection times out, it will get a heartbeat json
> reply.  Although it will usually get one in between with the error json below immediately.
> Regular messages like subscribing and sending a message manually will
> take a while (like 30 seconds or longer) and usually come back with
> the error json below as well.  Even with one connection it seems to block everything else.
> I'm going to try more configuration parameters on the Apache side to
> see if it's something on there, but something is definitely blocking
> anything else from going through.
>
> Also, I know we had talked about this before, but will the
> conversation messages have a direct callback ability instead of having
> another subject that needs to be listened to?  I'm creating an Errai
> Proxy for loading data for GXT stores which in turn is used by
> components to get data, but having a secondary subject to listen
> doesn't quite fit into the design of this and I think I'd prefer to
> keep it to one method of transport rather than using RPC or SOAFaces
> UniversalClient.  Not to mention a direct callback seems to fit more
> into the conversation design since otherwise data could reach more
> than one callback if you had the same component more than once on a
> page listening to that reply subject and didn't have an increment counter or something to differentiate them.
>
> -----Original Message-----
> From: Mike Brock [mailto:cbrock@redhat.com]
> Sent: Wednesday, January 20, 2010 4:27 PM
> To: Kevin Jordan
> Subject: Re: [errai-users] Trouble sending messages
>
> Interesting.  Errai is designed to only use a single connection /
> single queue by default with the server in order to prevent interfering with image
> loading, etc.  
>
> We have not tested Errai in any load balancing scenarios such as with
> Terracotta.
>
> You're saying all the actual messages are eventually delivered in both
> directions, albeit slowly?
>
> On 2010-01-20, at 1:33 PM, Kevin Jordan wrote:
>
>> Do you have any experience running this behind Apache?  I'm trying to
>> use it to load balance two Tomcat servers, but it doesn't seem to be
>> working too well.  The connections seem to take forever to terminate
>> and when they do they usually get this error back:
>>
> [{"ClientBusErrors":{ErrorMessage:"null",AdditionalDetails:"org.jboss.errai.
>> bus.server.ServerMessageBusImpl.nextMessage(ServerMessageBusImpl.java:
>> 363)<b
>> r/>org.jboss.errai.bus.server.servlet.DefaultBlockingServlet.pollForM
>> e
>> ssages
>> (DefaultBlockingServlet.java:90)<br/>org.jboss.errai.bus.server.servl
>> e
>> t.Defa
>>
> ultBlockingServlet.doPost(DefaultBlockingServlet.java:84)<br/>javax.servlet.
>> http.HttpServlet.service(Unknown
>> Source)<br/>javax.servlet.http.HttpServlet.service(Unknown
>> Source)<br/>org.apache.catalina.core.ApplicationFilterChain.internalD
>> o
>> Filter
>> (Unknown
>> Source)<br/>org.apache.catalina.core.ApplicationFilterChain.doFilter(
>> U
>> nknown
>> Source)<br/>org.springframework.security.util.FilterChainProxy$Virtua
>> l
>> Filter
>> Chain.doFilter(FilterChainProxy.java:378)<br/>org.springframework.sec
>> u
>> rity.i
>> ntercept.web.FilterSecurityInterceptor.invoke(FilterSecurityIntercept
>> o
>> r.java
>> :109)<br/>org.springframework.security.intercept.web.FilterSecurityIn
>> t
>> ercept
>> or.doFilter(FilterSecurityInterceptor.java:83)<br/>org.springframewor
>> k
>> .secur
>>
> ity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:
>> 390)<br/>org.springframework.security.ui.ExceptionTranslationFilter.d
>> o
>> Filter
>> Http(ExceptionTranslationFilter.java:101)<br/>org.springframework.sec
>> u
>> rity.u
>> i.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<br/>org.
>> spring
>> framework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(
>> F
>> ilterC
>> hainProxy.java:390)<br/>org.springframework.security.wrapper.Security
>> C
>> ontext
>> HolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareReque
>> s
>> tFilte
>> r.java:91)<br/>org.springframework.security.ui.SpringSecurityFilter.d
>> o
>> Filter
>> (SpringSecurityFilter.java:53)<br/>org.springframework.security.util.
>> F
>> ilterC
>> hainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)<br/>
>> o
>> rg.spr
>> ingframework.security.ui.AbstractProcessingFilter.doFilterHttp(Abstra
>> c
>> tProce
>> ssingFilter.java:278)<br/>org.springframework.security.ui.SpringSecur
>> i
>> tyFilt
>> er.doFilter(SpringSecurityFilter.java:53)<br/>org.springframework.sec
>> u
>> rity.u
>> til.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.jav
>> a
>> :390)<
>> br/>org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleS
>> i
>> gnOutF
>> ilter.java:106)<br/>org.springframework.security.util.FilterChainProx
>> y
>> $Virtu
>> alFilterChain.doFilter(FilterChainProxy.java:390)<br/>org.springframe
>> w
>> ork.se
>> curity.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)<br/>
>> o
>> rg.spr
>>
> ingframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.
>> java:53)<br/>org.springframework.security.util.FilterChainProxy$Virtu
>> a
>> lFilte
>>
> rChain.doFilter(FilterChainProxy.java:390)<br/>org.springframework.security.
>> context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionC
>> o
>> ntextI
>> ntegrationFilter.java:235)<br/>org.springframework.security.ui.Spring
>> S
>> ecurit
>> yFilter.doFilter(SpringSecurityFilter.java:53)<br/>org.springframewor
>> k
>> .secur
>>
> ity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:
>>
> 390)<br/>org.springframework.security.securechannel.ChannelProcessingFilter.
>> doFilterHttp(ChannelProcessingFilter.java:116)<br/>org.springframewor
>> k
>> .secur
>> ity.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)<br
>> /
>>> org.s
>> pringframework.security.util.FilterChainProxy$VirtualFilterChain.doFi
>> l
>> ter(Fi
>> lterChainProxy.java:390)<br/>org.springframework.security.util.Filter
>> C
>> hainPr
>> oxy.doFilter(FilterChainProxy.java:175)<br/>org.springframework.web.f
>> i
>> lter.D
>>
> elegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)<br/>org.
>> springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingF
>> i
>> lterPr
>> oxy.java:167)<br/>org.apache.catalina.core.ApplicationFilterChain.int
>> e
>> rnalDo
>> Filter(Unknown
>> Source)<br/>org.apache.catalina.core.ApplicationFilterChain.doFilter(
>> U
>> nknown
>> Source)<br/>com.google.inject.servlet.DefaultFilterPipeline.dispatch(
>> D
>> efault
>> FilterPipeline.java:43)<br/>com.google.inject.servlet.GuiceFilter.doF
>> i
>> lter(G
>> uiceFilter.java:110)<br/>org.apache.catalina.core.ApplicationFilterCh
>> a
>> in.int
>> ernalDoFilter(Unknown
>> Source)<br/>org.apache.catalina.core.ApplicationFilterChain.doFilter(
>> U
>> nknown
>> Source)<br/>org.apache.catalina.core.StandardWrapperValve.invoke(Unkn
>> o
>> wn
>> Source)<br/>org.apache.catalina.core.StandardContextValve.invoke(Unkn
>> o
>> wn
>> Source)<br/>org.apache.catalina.core.StandardHostValve.invoke(Unknown
>> Source)<br/>org.apache.catalina.valves.ErrorReportValve.invoke(Unknow
>> n
>> Source)<br/>org.apache.catalina.core.StandardEngineValve.invoke(Unkno
>> w
>> n
>> Source)<br/>org.terracotta.modules.tomcat.tomcat_5_5.SessionValve55.t
>> c
>> Invoke
>> (SessionValve55.java:63)<br/>org.terracotta.modules.tomcat.tomcat_5_5.
>> Sessio
>> nValve55.invoke(SessionValve55.java:50)<br/>org.apache.catalina.conne
>> c
>> tor.Co
>> yoteAdapter.service(Unknown
>> Source)<br/>org.apache.coyote.http11.Http11NioProcessor.process(Unkno
>> w
>> n
>> Source)<br/>org.apache.coyote.http11.Http11NioProtocol$Http11Connecti
>> o
>> nHandl
>> er.process(Unknown
>> Source)<br/>org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.ru
>> n
>> (Unkno
>> wn
>> Source)<br/>java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Th
>> r
>> eadPoo
>> lExecutor.java:886)<br/>java.util.concurrent.ThreadPoolExecutor$Worke
>> r
>> .run(T
>> hreadPoolExecutor.java:908)<br/>java.lang.Thread.run(Thread.java:619)
>> <
>> br/>"}
>> }]
>>
>> I've got Terracotta running to tie the memory between the two
>> instances together and mod_proxy on Apache going to the HTTPS port.
>> The only change I seem to have to make in Tomcat is the proxyName and
>> proxyPort so redirects are handled correctly.  Everything else seems
>> to work fine, except for images loaded later seem to take a while,
>> possibly because of the Comet connections Errai is making.  I'm not
>> sure if the issue is with Errai or the request is getting rewritten
> incorrectly or something.
>>
>> If I take away Apache and run it just on a single node, everything
>> works fine.
>>
>
>