No, I still get the error.  Config for non-secure is:

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

                           scheme="http"

               connectionTimeout="20000" />

 

From: Mike Brock [mailto:cbrock@redhat.com]
Sent: Friday, January 22, 2010 1:40 PM
To: Kevin Jordan
Cc: errai-users@lists.jboss.org
Subject: Re: [errai-users] Trouble sending messages

 

Does it work over the non-secure connector?

 

On 2010-01-22, at 2:19 PM, Kevin Jordan wrote:



Yeah, and I’m still having trouble getting the TomcatCometServlet to go through.  My connector is set up as:

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

                           keystoreFile="/etc/tomcat-6/.keystore"

                           truststoreFile="/etc/tomcat-6/truststore"

                           proxyName="demo.xteconline.com" proxyPort="443"

               clientAuth="false" sslProtocol="TLS" />

 

And then I used the TomcatCometServlet segment from the error, but I still get it no matter what.  Is there something that I have configured incorrectly or need to add?

 

From: Mike Brock [mailto:cbrock@redhat.com] 
Sent: Friday, January 22, 2010 1:08 PM
To: Kevin Jordan
Cc: errai-users@lists.jboss.org
Subject: Re: [errai-users] Trouble sending messages

 

Well, if you're using the DefaultBlockingServlet, then it holds the thread until there is a message.  The TomcatCometServlet on the other hand uses the AIO API in Tomcat to prevent any thread blocking.  I'm not sure if that could be the problem.

 

 

On 2010-01-22, at 1:04 PM, Kevin Jordan wrote:




And just so everyone knows, the culprit is Terracotta.  Even with Spring Security disabled, it somehow blocks the connections.  I’m not sure if it’s locking something that everything else needs or what and it’s not released due to the long running connection.

 

From: errai-users-bounces@lists.jboss.org [mailto:errai-users-bounces@lists.jboss.org] On Behalf Of Kevin Jordan
Sent: Thursday, January 21, 2010 4:24 PM
To: 'Mike Brock'
Cc: errai-users@lists.jboss.org
Subject: Re: [errai-users] Trouble sending messages

 

Well, good news is that I got the connection blocking solved.  It seemed to either be Spring Security (which if so, an upgrade fixed) or Terracotta (which seems to have trouble with my CAS install now, so that’s no longer in there).  But I suppose the good news is that you can run Errai from behind Apache.

 

From: Mike Brock [mailto:cbrock@redhat.com] 
Sent: Thursday, January 21, 2010 11:12 AM
To: Kevin Jordan
Cc: errai-users@lists.jboss.org
Subject: Re: [errai-users] Trouble sending messages

 

I just deployed onto Tomcat using the TomcatCometServlet and it seems to be working fine...

 

On 2010-01-21, at 11:15 AM, Kevin Jordan wrote:

 

Even just connecting to Tomcat directly, I still seem to get that error.

 

From: Mike Brock [mailto:cbrock@redhat.com] 
Sent: Thursday, January 21, 2010 10:06 AM
To: Kevin Jordan
Cc: errai-users@lists.jboss.org
Subject: Re: [errai-users] Trouble sending messages

 

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.

>>