tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Seth Lenzi <le...@jimmy.harvard.edu>
Subject Re: Asynchronous servlets + Tomcat + mod_jk
Date Tue, 07 Jun 2011 16:38:24 GMT

I got the asynch servlet working with Apache and mod_jk. The issue 
turned out to not be with mod_jk. I was deploying to a clustered 
environment with two tomcats that were set up to do session replication. 
I installed a third lone tomcat, linked it to apache with mod_jk, and it 
worked perfectly.

So now I guess my question is somewhat vague, but how would I go about 
getting asynchronous servlets to work with clustering enabled? The 
isAsyncSupported() method of the request object returns false in my 
cluster setup... I've included the cluster element from my server.xml 
file. I have this between the <host></host> element.

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" 
channelSendOptions="8">

   <Manager className="org.apache.catalina.ha.session.DeltaManager"
     stateTransferTimeout="10"
     expireSessionsOnShutdown="false"
     notifyListenersOnReplication="true"/>

   <Channel className="org.apache.catalina.tribes.group.GroupChannel">

     <Membership 
className="org.apache.catalina.tribes.membership.McastService"
       address="228.0.0.4"
       port="45564"
       frequency="500"
       dropTime="3000"/>

     <Receiver 
className="org.apache.catalina.tribes.transport.nio.NioReceiver"
       address="auto"
       port="4000"
       autoBind="100"
       selectorTimeout="5000"
       maxThreads="6"/>

     <Sender 
className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
       <Transport 
className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
     </Sender>

     <Interceptor 
className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
     <Interceptor 
className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>

   </Channel>

   <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" 
filter=""/>
   <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

   <ClusterListener 
className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
   <ClusterListener 
className="org.apache.catalina.ha.session.ClusterSessionListener"/>

</Cluster>

-S


On 6/6/2011 5:21 PM, markt@apache.org wrote:
> Seth Lenzi<lenzi@jimmy.harvard.edu>  wrote:
>
>>
>> I'm using Tomcat v7.0.14, Apache v2.2.17, and mod_jk v1.2.30.
>>
>> The Servlet I have does not implement CometProcessor. It's just a
>> regular HttpServlet which creates an AsyncContext from the
>> HttpServletRequest object. Like the example Servlet at this page,
>> http://developerlife.com/tutorials/?p=1437
>>
>> It does work nicely when accessed directly from Tomcat on port 8080...
>> Only throws the IllegalStateExeception when going through Apache +
>> mod_jk. I'm using the default HTTP connector, no NIO API... Since it
>> was
>> working through Tomcat I figured I didn't need the NIO HTTP connector.
>>
>> Thanks for your reply.
>>
>> -S
>>
>>
>> On 6/6/2011 4:49 PM, André Warnier wrote:
>>> Seth Lenzi wrote:
>>>> Anyone here have any experience with asynchronous servlets under a
>>>> Tomcat that's linked to Apache via mod_jk? I have an asynchronous
>>>> servlet that's working nicely when accessed directly from Tomcat,
>> but,
>>>> when I access it by going through Apache and mod_jk the
>>>> ServletRequest.startAsync() function call throws an
>>>> IllegalStateException saying the feature is not supported.
>>>>
>>> You do not give a clue about which version of Tomcat you are using,
>> but
>>> this may provide an explanation :
>>> http://tomcat.apache.org/tomcat-7.0-doc/aio.html
> Tomcat 7 has passed the Servlet TCK with all possible combinations of protocol (HTTP,
AJP), connector implementation (BIO, NIO, APR) and httpd module (mod_jk, mod_proxy_http, mod_proxy_ajp).
>
> Asynchronous servlets work in all combinations.
>
> The best thing to do is create the simplest possible test case (ie a single Servlet)
that demonstrates this issue and attach it to a bugzilla issue.
>
> Mark
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message