You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Manu_SF <rx...@gmail.com> on 2008/11/18 00:45:13 UTC

Tomcat 6 cluster with Session Persistence not working :(

Hi,

After some digging through and still not able to get it work, I thought of
posting it here... Here's what I am trying to accomplish:

* Have Apache as a Loadbalancer for 2 Tomcat 6 instances - All running on
the same Linux box
* Implement the session persistence using Tomcat6 so that live sessions
could be handled by other Tomcat nodes, if one of them crashes in between.

What I am able to accomplish till now:
* Setup the load balanced servers so that *new* sessions are handled by
whichever server is active/lightly loaded.

Where I am stuck:
* Not able to have session persistent cluster.
* This scenario is not working:
- Tomcat1 and Tomcat2 are up.
- A new request comes in and Tomcat1 serves it.
- Tomcat1 crashes and the session is lost (Instead I want it to be served by
Tomcat2 as if nothing happened).

I went through the steps mentioned here:
http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html (which is exactly
what I am trying to achieve). But when I kill the active server, the session
is lost..

In index.jsp, I am extending the Session so that it can be serialized...
And, I am creating an instance so that I can use a serializable session for
session-persistence.

class PersistentSession implements javax.servlet.http.HttpSession,
java.io.Serializable {
    private javax.servlet.http.HttpSession httpSession;

    protected PersistentSession()
    {
        httpSession = null;
    }
    // All necessary methods overridden
    ... 
}

// Check "perSession" served from both tomcat instances...
PersistentSession perSession = new PersistentSession(request.getSession());


Here's the server.xml files from both the tomcat instances... Can anyone
tell me what am I missing in order to run persistent sessions?

server.xml from Tomcat1:

<?xml version='1.0' encoding='utf-8'?>

<Server port="11005" shutdown="SHUTDOWN">

  <Listener className="org.apache.catalina.core.AprLifecycleListener"
SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
/>
  <Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <Service name="Catalina">
  
    <Connector port="11009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine jvmRoute="tomcat1"  name="Catalina" defaultHost="localhost"
debug="0">

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

          <Manager className="org.apache.catalina.ha.session.DeltaManager"
                   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="4001"
                      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"/>

          <Deployer
className="org.apache.catalina.ha.deploy.FarmWarDeployer"
                    tempDir="/tmp/war-temp/"
                    deployDir="/tmp/war-deploy/"
                    watchDir="/tmp/war-listen/"
                    watchEnabled="false"/>

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


      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

      </Host>
    </Engine>
  </Service>
</Server>



server.xml from Tomcat2:

<?xml version='1.0' encoding='utf-8'?>

<Server port="12005" shutdown="SHUTDOWN">

  <Listener className="org.apache.catalina.core.AprLifecycleListener"
SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
/>
  <Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <Service name="Catalina">
  
    <Connector port="12009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine jvmRoute="tomcat1"  name="Catalina" defaultHost="localhost"
debug="0">

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

          <Manager className="org.apache.catalina.ha.session.DeltaManager"
                   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="4002"
                      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"/>

          <Deployer
className="org.apache.catalina.ha.deploy.FarmWarDeployer"
                    tempDir="/tmp/war-temp/"
                    deployDir="/tmp/war-deploy/"
                    watchDir="/tmp/war-listen/"
                    watchEnabled="false"/>

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

      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

      </Host>
    </Engine>
  </Service>
</Server>

-- 
View this message in context: http://www.nabble.com/Tomcat-6-cluster-with-Session-Persistence-not-working-%3A%28-tp20550490p20550490.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


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


Re: Tomcat 6 cluster with Session Persistence not working :(

Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
Manu_SF wrote:
> Thanks a ton, Filip.
>
> Here are the details about the 3 questions you asked. Please tell me what am
> I missing here?
>
> 1. distributable tag:
> There's no "Context" attribute in either web.xml or server.xml, but however
> context.xml in the same conf directory had Context tag, for which I added
> the distributable="true" attribute.
>
> <Context distributable="true">
>   
that would be wrong, this means you would configure every single 
application for replication.
> 2. 
>   
>> why are you doing this, it wont change the behavior of your system.
>> It's the session attributes that have to be serializable 
>>     
>
> I think I might be missing something terribly here... If session is not
> serializable, then how will it persist the session? Do you have an example
> which shows this?
>   
just google for articles on tomcat clustering/session replication, one 
gentlemen Srini wrote several of them
> 3. Tomcat logs while starting up - Here's the tomcat logs from starting each
> server:
>   

INFO: Manager [localhost#/manager]: skipping state transfer. No members
active in cluster group.

this means that the two tomcat instances didn't discover each other.
so what you would need to do, is to ensure that multicasting is working, and that the members discover each other

Filip


> Tomcat server 1 log
>
> ==> /usr/local/tomcat1/logs/catalina.2008-11-17.log <==
> Nov 17, 2008 9:48:05 PM org.apache.tomcat.util.digester.SetPropertiesRule
> begin
> WARNING: [SetPropertiesRule]{Server/Service/Engine} Setting property 'debug'
> to '0' did not find a matching property.
> Nov 17, 2008 9:48:05 PM org.apache.catalina.core.AprLifecycleListener init
> INFO: The APR based Apache Tomcat Native library which allows optimal
> performance in production environments was not found on the
> java.library.path:
> /usr/java/jre/lib/i386/server:/usr/java/jre/lib/i386:/usr/java/jre/../lib/i386
> Nov 17, 2008 9:48:05 PM org.apache.catalina.startup.Catalina load
> INFO: Initialization processed in 394 ms
> Nov 17, 2008 9:48:05 PM org.apache.catalina.core.StandardService start
> INFO: Starting service Catalina
> Nov 17, 2008 9:48:05 PM org.apache.catalina.core.StandardEngine start
> INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
> Nov 17, 2008 9:48:05 PM org.apache.catalina.ha.tcp.SimpleTcpCluster start
> INFO: Cluster is about to start
> Nov 17, 2008 9:48:05 PM org.apache.catalina.tribes.transport.ReceiverBase
> bind
> INFO: Receiver Server Socket bound to:/127.0.0.1:4001
> Nov 17, 2008 9:48:05 PM
> org.apache.catalina.tribes.membership.McastServiceImpl setupSocket
> INFO: Setting cluster mcast soTimeout to 500
> Nov 17, 2008 9:48:05 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
> level:4
>
> ==> /usr/local/tomcat1/logs/catalina.out <==
> Nov 17, 2008 9:48:05 PM org.apache.tomcat.util.digester.SetPropertiesRule
> begin
> WARNING: [SetPropertiesRule]{Server/Service/Engine} Setting property 'debug'
> to '0' did not find a matching property.
> Nov 17, 2008 9:48:05 PM org.apache.catalina.core.AprLifecycleListener init
> INFO: The APR based Apache Tomcat Native library which allows optimal
> performance in production environments was not found on the
> java.library.path:
> /usr/java/jre/lib/i386/server:/usr/java/jre/lib/i386:/usr/java/jre/../lib/i386
> Nov 17, 2008 9:48:05 PM org.apache.catalina.startup.Catalina load
> INFO: Initialization processed in 394 ms
> Nov 17, 2008 9:48:05 PM org.apache.catalina.core.StandardService start
> INFO: Starting service Catalina
> Nov 17, 2008 9:48:05 PM org.apache.catalina.core.StandardEngine start
> INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
> Nov 17, 2008 9:48:05 PM org.apache.catalina.ha.tcp.SimpleTcpCluster start
> INFO: Cluster is about to start
> Nov 17, 2008 9:48:05 PM org.apache.catalina.tribes.transport.ReceiverBase
> bind
> INFO: Receiver Server Socket bound to:/127.0.0.1:4001
> Nov 17, 2008 9:48:05 PM
> org.apache.catalina.tribes.membership.McastServiceImpl setupSocket
> INFO: Setting cluster mcast soTimeout to 500
> Nov 17, 2008 9:48:05 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
> level:4
>
> ==> /usr/local/tomcat1/logs/catalina.2008-11-17.log <==
> Nov 17, 2008 9:48:06 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Done sleeping, membership established, start level:4
> Nov 17, 2008 9:48:06 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
> level:8
>
> ==> /usr/local/tomcat1/logs/catalina.out <==
> Nov 17, 2008 9:48:06 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Done sleeping, membership established, start level:4
> Nov 17, 2008 9:48:06 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
> level:8
>
> ==> /usr/local/tomcat1/logs/catalina.2008-11-17.log <==
> Nov 17, 2008 9:48:07 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Done sleeping, membership established, start level:8
> Nov 17, 2008 9:48:07 PM org.apache.catalina.ha.deploy.FarmWarDeployer start
> SEVERE: FarmWarDeployer can only work as host cluster subelement!
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /examples to cluster element Engine with name
> Catalina
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /examples
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/examples]: skipping state transfer. No members
> active in cluster group.
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /docs to cluster element Engine with name Catalina
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /docs
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/docs]: skipping state transfer. No members active
> in cluster group.
>
> ==> /usr/local/tomcat1/logs/catalina.out <==
> Nov 17, 2008 9:48:07 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Done sleeping, membership established, start level:8
> Nov 17, 2008 9:48:07 PM org.apache.catalina.ha.deploy.FarmWarDeployer start
> SEVERE: FarmWarDeployer can only work as host cluster subelement!
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /examples to cluster element Engine with name
> Catalina
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /examples
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/examples]: skipping state transfer. No members
> active in cluster group.
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /docs to cluster element Engine with name Catalina
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /docs
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/docs]: skipping state transfer. No members active
> in cluster group.
>
> ==> /usr/local/tomcat1/logs/localhost.2008-11-17.log <==
> Nov 17, 2008 9:48:08 PM org.apache.catalina.core.ApplicationContext log
> INFO: ContextListener: contextInitialized()
> Nov 17, 2008 9:48:08 PM org.apache.catalina.core.ApplicationContext log
> INFO: SessionListener: contextInitialized()
>
> ==> /usr/local/tomcat1/logs/catalina.2008-11-17.log <==
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /host-manager to cluster element Engine with name
> Catalina
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /host-manager
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/host-manager]: skipping state transfer. No members
> active in cluster group.
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager  to cluster element Engine with name Catalina
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at 
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#]: skipping state transfer. No members active in
> cluster group.
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /manager to cluster element Engine with name Catalina
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /manager
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/manager]: skipping state transfer. No members
> active in cluster group.
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.JvmRouteBinderValve
> start
> INFO: JvmRouteBinderValve started
> Nov 17, 2008 9:48:08 PM org.apache.jk.common.ChannelSocket init
> INFO: JK: ajp13 listening on /0.0.0.0:11009
> Nov 17, 2008 9:48:08 PM org.apache.jk.server.JkMain start
> INFO: Jk running ID=0 time=0/17  config=null
> Nov 17, 2008 9:48:08 PM org.apache.catalina.startup.Catalina start
> INFO: Server startup in 2529 ms
>
> ==> /usr/local/tomcat1/logs/catalina.out <==
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /host-manager to cluster element Engine with name
> Catalina
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /host-manager
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/host-manager]: skipping state transfer. No members
> active in cluster group.
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager  to cluster element Engine with name Catalina
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at 
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#]: skipping state transfer. No members active in
> cluster group.
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /manager to cluster element Engine with name Catalina
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /manager
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/manager]: skipping state transfer. No members
> active in cluster group.
> Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.JvmRouteBinderValve
> start
> INFO: JvmRouteBinderValve started
> Nov 17, 2008 9:48:08 PM org.apache.jk.common.ChannelSocket init
> INFO: JK: ajp13 listening on /0.0.0.0:11009
> Nov 17, 2008 9:48:08 PM org.apache.jk.server.JkMain start
> INFO: Jk running ID=0 time=0/17  config=null
> Nov 17, 2008 9:48:08 PM org.apache.catalina.startup.Catalina start
> INFO: Server startup in 2529 ms
>
>
> Tomcat Server 2 logs
>
> ==> /usr/local/tomcat2/logs/catalina.2008-11-17.log <==
> Nov 17, 2008 9:48:20 PM org.apache.tomcat.util.digester.SetPropertiesRule
> begin
> WARNING: [SetPropertiesRule]{Server/Service/Engine} Setting property 'debug'
> to '0' did not find a matching property.
> Nov 17, 2008 9:48:20 PM org.apache.catalina.core.AprLifecycleListener init
> INFO: The APR based Apache Tomcat Native library which allows optimal
> performance in production environments was not found on the
> java.library.path:
> /usr/java/jre/lib/i386/server:/usr/java/jre/lib/i386:/usr/java/jre/../lib/i386
> Nov 17, 2008 9:48:20 PM org.apache.catalina.startup.Catalina load
> INFO: Initialization processed in 394 ms
> Nov 17, 2008 9:48:20 PM org.apache.catalina.core.StandardService start
> INFO: Starting service Catalina
> Nov 17, 2008 9:48:20 PM org.apache.catalina.core.StandardEngine start
> INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
> Nov 17, 2008 9:48:20 PM org.apache.catalina.ha.tcp.SimpleTcpCluster start
> INFO: Cluster is about to start
> Nov 17, 2008 9:48:20 PM org.apache.catalina.tribes.transport.ReceiverBase
> bind
> INFO: Receiver Server Socket bound to:/127.0.0.1:4002
> Nov 17, 2008 9:48:20 PM
> org.apache.catalina.tribes.membership.McastServiceImpl setupSocket
> INFO: Setting cluster mcast soTimeout to 500
> Nov 17, 2008 9:48:20 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
> level:4
>
> ==> /usr/local/tomcat2/logs/catalina.out <==
> Nov 17, 2008 9:48:20 PM org.apache.tomcat.util.digester.SetPropertiesRule
> begin
> WARNING: [SetPropertiesRule]{Server/Service/Engine} Setting property 'debug'
> to '0' did not find a matching property.
> Nov 17, 2008 9:48:20 PM org.apache.catalina.core.AprLifecycleListener init
> INFO: The APR based Apache Tomcat Native library which allows optimal
> performance in production environments was not found on the
> java.library.path:
> /usr/java/jre/lib/i386/server:/usr/java/jre/lib/i386:/usr/java/jre/../lib/i386
> Nov 17, 2008 9:48:20 PM org.apache.catalina.startup.Catalina load
> INFO: Initialization processed in 394 ms
> Nov 17, 2008 9:48:20 PM org.apache.catalina.core.StandardService start
> INFO: Starting service Catalina
> Nov 17, 2008 9:48:20 PM org.apache.catalina.core.StandardEngine start
> INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
> Nov 17, 2008 9:48:20 PM org.apache.catalina.ha.tcp.SimpleTcpCluster start
> INFO: Cluster is about to start
> Nov 17, 2008 9:48:20 PM org.apache.catalina.tribes.transport.ReceiverBase
> bind
> INFO: Receiver Server Socket bound to:/127.0.0.1:4002
> Nov 17, 2008 9:48:20 PM
> org.apache.catalina.tribes.membership.McastServiceImpl setupSocket
> INFO: Setting cluster mcast soTimeout to 500
> Nov 17, 2008 9:48:20 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
> level:4
>
> ==> /usr/local/tomcat2/logs/catalina.2008-11-17.log <==
> Nov 17, 2008 9:48:21 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Done sleeping, membership established, start level:4
> Nov 17, 2008 9:48:21 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
> level:8
>
> ==> /usr/local/tomcat2/logs/catalina.out <==
> Nov 17, 2008 9:48:21 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Done sleeping, membership established, start level:4
> Nov 17, 2008 9:48:21 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
> level:8
>
> ==> /usr/local/tomcat2/logs/catalina.2008-11-17.log <==
> Nov 17, 2008 9:48:22 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Done sleeping, membership established, start level:8
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.deploy.FarmWarDeployer start
> SEVERE: FarmWarDeployer can only work as host cluster subelement!
>
> ==> /usr/local/tomcat2/logs/catalina.out <==
> Nov 17, 2008 9:48:22 PM
> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
> INFO: Done sleeping, membership established, start level:8
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.deploy.FarmWarDeployer start
> SEVERE: FarmWarDeployer can only work as host cluster subelement!
>
> ==> /usr/local/tomcat2/logs/catalina.2008-11-17.log <==
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /examples to cluster element Engine with name
> Catalina
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /examples
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/examples]: skipping state transfer. No members
> active in cluster group.
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /docs to cluster element Engine with name Catalina
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /docs
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/docs]: skipping state transfer. No members active
> in cluster group.
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /host-manager to cluster element Engine with name
> Catalina
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /host-manager
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/host-manager]: skipping state transfer. No members
> active in cluster group.
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager  to cluster element Engine with name Catalina
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at 
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#]: skipping state transfer. No members active in
> cluster group.
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /manager to cluster element Engine with name Catalina
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /manager
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/manager]: skipping state transfer. No members
> active in cluster group.
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.JvmRouteBinderValve
> start
> INFO: JvmRouteBinderValve started
> Nov 17, 2008 9:48:22 PM org.apache.jk.common.ChannelSocket init
> INFO: JK: ajp13 listening on /0.0.0.0:12009
> Nov 17, 2008 9:48:22 PM org.apache.jk.server.JkMain start
> INFO: Jk running ID=0 time=0/18  config=null
> Nov 17, 2008 9:48:22 PM org.apache.catalina.startup.Catalina start
> INFO: Server startup in 2582 ms
>
> ==> /usr/local/tomcat2/logs/catalina.out <==
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /examples to cluster element Engine with name
> Catalina
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /examples
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/examples]: skipping state transfer. No members
> active in cluster group.
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /docs to cluster element Engine with name Catalina
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /docs
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/docs]: skipping state transfer. No members active
> in cluster group.
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /host-manager to cluster element Engine with name
> Catalina
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /host-manager
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/host-manager]: skipping state transfer. No members
> active in cluster group.
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager  to cluster element Engine with name Catalina
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at 
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#]: skipping state transfer. No members active in
> cluster group.
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Register manager /manager to cluster element Engine with name Catalina
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
> INFO: Starting clustering manager at /manager
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
> getAllClusterSessions
> INFO: Manager [localhost#/manager]: skipping state transfer. No members
> active in cluster group.
> Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.JvmRouteBinderValve
> start
> INFO: JvmRouteBinderValve started
> Nov 17, 2008 9:48:22 PM org.apache.jk.common.ChannelSocket init
> INFO: JK: ajp13 listening on /0.0.0.0:12009
> Nov 17, 2008 9:48:22 PM org.apache.jk.server.JkMain start
> INFO: Jk running ID=0 time=0/18  config=null
> Nov 17, 2008 9:48:22 PM org.apache.catalina.startup.Catalina start
> INFO: Server startup in 2582 ms
>
> ==> /usr/local/tomcat2/logs/localhost.2008-11-17.log <==
> Nov 17, 2008 9:48:22 PM org.apache.catalina.core.ApplicationContext log
> INFO: ContextListener: contextInitialized()
> Nov 17, 2008 9:48:22 PM org.apache.catalina.core.ApplicationContext log
> INFO: SessionListener: contextInitialized()
>
>
>   


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


Re: Tomcat 6 cluster with Session Persistence not working :(

Posted by Manu_SF <rx...@gmail.com>.
Thanks a ton, Filip.

Here are the details about the 3 questions you asked. Please tell me what am
I missing here?

1. distributable tag:
There's no "Context" attribute in either web.xml or server.xml, but however
context.xml in the same conf directory had Context tag, for which I added
the distributable="true" attribute.

<Context distributable="true">

2. 
>why are you doing this, it wont change the behavior of your system.
>It's the session attributes that have to be serializable 

I think I might be missing something terribly here... If session is not
serializable, then how will it persist the session? Do you have an example
which shows this?

3. Tomcat logs while starting up - Here's the tomcat logs from starting each
server:

Tomcat server 1 log

==> /usr/local/tomcat1/logs/catalina.2008-11-17.log <==
Nov 17, 2008 9:48:05 PM org.apache.tomcat.util.digester.SetPropertiesRule
begin
WARNING: [SetPropertiesRule]{Server/Service/Engine} Setting property 'debug'
to '0' did not find a matching property.
Nov 17, 2008 9:48:05 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal
performance in production environments was not found on the
java.library.path:
/usr/java/jre/lib/i386/server:/usr/java/jre/lib/i386:/usr/java/jre/../lib/i386
Nov 17, 2008 9:48:05 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 394 ms
Nov 17, 2008 9:48:05 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Nov 17, 2008 9:48:05 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
Nov 17, 2008 9:48:05 PM org.apache.catalina.ha.tcp.SimpleTcpCluster start
INFO: Cluster is about to start
Nov 17, 2008 9:48:05 PM org.apache.catalina.tribes.transport.ReceiverBase
bind
INFO: Receiver Server Socket bound to:/127.0.0.1:4001
Nov 17, 2008 9:48:05 PM
org.apache.catalina.tribes.membership.McastServiceImpl setupSocket
INFO: Setting cluster mcast soTimeout to 500
Nov 17, 2008 9:48:05 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
level:4

==> /usr/local/tomcat1/logs/catalina.out <==
Nov 17, 2008 9:48:05 PM org.apache.tomcat.util.digester.SetPropertiesRule
begin
WARNING: [SetPropertiesRule]{Server/Service/Engine} Setting property 'debug'
to '0' did not find a matching property.
Nov 17, 2008 9:48:05 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal
performance in production environments was not found on the
java.library.path:
/usr/java/jre/lib/i386/server:/usr/java/jre/lib/i386:/usr/java/jre/../lib/i386
Nov 17, 2008 9:48:05 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 394 ms
Nov 17, 2008 9:48:05 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Nov 17, 2008 9:48:05 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
Nov 17, 2008 9:48:05 PM org.apache.catalina.ha.tcp.SimpleTcpCluster start
INFO: Cluster is about to start
Nov 17, 2008 9:48:05 PM org.apache.catalina.tribes.transport.ReceiverBase
bind
INFO: Receiver Server Socket bound to:/127.0.0.1:4001
Nov 17, 2008 9:48:05 PM
org.apache.catalina.tribes.membership.McastServiceImpl setupSocket
INFO: Setting cluster mcast soTimeout to 500
Nov 17, 2008 9:48:05 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
level:4

==> /usr/local/tomcat1/logs/catalina.2008-11-17.log <==
Nov 17, 2008 9:48:06 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Done sleeping, membership established, start level:4
Nov 17, 2008 9:48:06 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
level:8

==> /usr/local/tomcat1/logs/catalina.out <==
Nov 17, 2008 9:48:06 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Done sleeping, membership established, start level:4
Nov 17, 2008 9:48:06 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
level:8

==> /usr/local/tomcat1/logs/catalina.2008-11-17.log <==
Nov 17, 2008 9:48:07 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Done sleeping, membership established, start level:8
Nov 17, 2008 9:48:07 PM org.apache.catalina.ha.deploy.FarmWarDeployer start
SEVERE: FarmWarDeployer can only work as host cluster subelement!
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /examples to cluster element Engine with name
Catalina
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /examples
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/examples]: skipping state transfer. No members
active in cluster group.
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /docs to cluster element Engine with name Catalina
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /docs
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/docs]: skipping state transfer. No members active
in cluster group.

==> /usr/local/tomcat1/logs/catalina.out <==
Nov 17, 2008 9:48:07 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Done sleeping, membership established, start level:8
Nov 17, 2008 9:48:07 PM org.apache.catalina.ha.deploy.FarmWarDeployer start
SEVERE: FarmWarDeployer can only work as host cluster subelement!
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /examples to cluster element Engine with name
Catalina
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /examples
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/examples]: skipping state transfer. No members
active in cluster group.
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /docs to cluster element Engine with name Catalina
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /docs
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/docs]: skipping state transfer. No members active
in cluster group.

==> /usr/local/tomcat1/logs/localhost.2008-11-17.log <==
Nov 17, 2008 9:48:08 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Nov 17, 2008 9:48:08 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()

==> /usr/local/tomcat1/logs/catalina.2008-11-17.log <==
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /host-manager to cluster element Engine with name
Catalina
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /host-manager
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/host-manager]: skipping state transfer. No members
active in cluster group.
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager  to cluster element Engine with name Catalina
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at 
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#]: skipping state transfer. No members active in
cluster group.
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /manager to cluster element Engine with name Catalina
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /manager
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/manager]: skipping state transfer. No members
active in cluster group.
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.JvmRouteBinderValve
start
INFO: JvmRouteBinderValve started
Nov 17, 2008 9:48:08 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:11009
Nov 17, 2008 9:48:08 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/17  config=null
Nov 17, 2008 9:48:08 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2529 ms

==> /usr/local/tomcat1/logs/catalina.out <==
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /host-manager to cluster element Engine with name
Catalina
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /host-manager
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/host-manager]: skipping state transfer. No members
active in cluster group.
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager  to cluster element Engine with name Catalina
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at 
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#]: skipping state transfer. No members active in
cluster group.
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /manager to cluster element Engine with name Catalina
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /manager
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/manager]: skipping state transfer. No members
active in cluster group.
Nov 17, 2008 9:48:08 PM org.apache.catalina.ha.session.JvmRouteBinderValve
start
INFO: JvmRouteBinderValve started
Nov 17, 2008 9:48:08 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:11009
Nov 17, 2008 9:48:08 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/17  config=null
Nov 17, 2008 9:48:08 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2529 ms


Tomcat Server 2 logs

==> /usr/local/tomcat2/logs/catalina.2008-11-17.log <==
Nov 17, 2008 9:48:20 PM org.apache.tomcat.util.digester.SetPropertiesRule
begin
WARNING: [SetPropertiesRule]{Server/Service/Engine} Setting property 'debug'
to '0' did not find a matching property.
Nov 17, 2008 9:48:20 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal
performance in production environments was not found on the
java.library.path:
/usr/java/jre/lib/i386/server:/usr/java/jre/lib/i386:/usr/java/jre/../lib/i386
Nov 17, 2008 9:48:20 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 394 ms
Nov 17, 2008 9:48:20 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Nov 17, 2008 9:48:20 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
Nov 17, 2008 9:48:20 PM org.apache.catalina.ha.tcp.SimpleTcpCluster start
INFO: Cluster is about to start
Nov 17, 2008 9:48:20 PM org.apache.catalina.tribes.transport.ReceiverBase
bind
INFO: Receiver Server Socket bound to:/127.0.0.1:4002
Nov 17, 2008 9:48:20 PM
org.apache.catalina.tribes.membership.McastServiceImpl setupSocket
INFO: Setting cluster mcast soTimeout to 500
Nov 17, 2008 9:48:20 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
level:4

==> /usr/local/tomcat2/logs/catalina.out <==
Nov 17, 2008 9:48:20 PM org.apache.tomcat.util.digester.SetPropertiesRule
begin
WARNING: [SetPropertiesRule]{Server/Service/Engine} Setting property 'debug'
to '0' did not find a matching property.
Nov 17, 2008 9:48:20 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal
performance in production environments was not found on the
java.library.path:
/usr/java/jre/lib/i386/server:/usr/java/jre/lib/i386:/usr/java/jre/../lib/i386
Nov 17, 2008 9:48:20 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 394 ms
Nov 17, 2008 9:48:20 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Nov 17, 2008 9:48:20 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
Nov 17, 2008 9:48:20 PM org.apache.catalina.ha.tcp.SimpleTcpCluster start
INFO: Cluster is about to start
Nov 17, 2008 9:48:20 PM org.apache.catalina.tribes.transport.ReceiverBase
bind
INFO: Receiver Server Socket bound to:/127.0.0.1:4002
Nov 17, 2008 9:48:20 PM
org.apache.catalina.tribes.membership.McastServiceImpl setupSocket
INFO: Setting cluster mcast soTimeout to 500
Nov 17, 2008 9:48:20 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
level:4

==> /usr/local/tomcat2/logs/catalina.2008-11-17.log <==
Nov 17, 2008 9:48:21 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Done sleeping, membership established, start level:4
Nov 17, 2008 9:48:21 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
level:8

==> /usr/local/tomcat2/logs/catalina.out <==
Nov 17, 2008 9:48:21 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Done sleeping, membership established, start level:4
Nov 17, 2008 9:48:21 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Sleeping for 1000 milliseconds to establish cluster membership, start
level:8

==> /usr/local/tomcat2/logs/catalina.2008-11-17.log <==
Nov 17, 2008 9:48:22 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Done sleeping, membership established, start level:8
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.deploy.FarmWarDeployer start
SEVERE: FarmWarDeployer can only work as host cluster subelement!

==> /usr/local/tomcat2/logs/catalina.out <==
Nov 17, 2008 9:48:22 PM
org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
INFO: Done sleeping, membership established, start level:8
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.deploy.FarmWarDeployer start
SEVERE: FarmWarDeployer can only work as host cluster subelement!

==> /usr/local/tomcat2/logs/catalina.2008-11-17.log <==
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /examples to cluster element Engine with name
Catalina
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /examples
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/examples]: skipping state transfer. No members
active in cluster group.
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /docs to cluster element Engine with name Catalina
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /docs
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/docs]: skipping state transfer. No members active
in cluster group.
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /host-manager to cluster element Engine with name
Catalina
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /host-manager
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/host-manager]: skipping state transfer. No members
active in cluster group.
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager  to cluster element Engine with name Catalina
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at 
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#]: skipping state transfer. No members active in
cluster group.
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /manager to cluster element Engine with name Catalina
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /manager
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/manager]: skipping state transfer. No members
active in cluster group.
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.JvmRouteBinderValve
start
INFO: JvmRouteBinderValve started
Nov 17, 2008 9:48:22 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:12009
Nov 17, 2008 9:48:22 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/18  config=null
Nov 17, 2008 9:48:22 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2582 ms

==> /usr/local/tomcat2/logs/catalina.out <==
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /examples to cluster element Engine with name
Catalina
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /examples
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/examples]: skipping state transfer. No members
active in cluster group.
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /docs to cluster element Engine with name Catalina
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /docs
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/docs]: skipping state transfer. No members active
in cluster group.
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /host-manager to cluster element Engine with name
Catalina
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /host-manager
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/host-manager]: skipping state transfer. No members
active in cluster group.
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager  to cluster element Engine with name Catalina
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at 
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#]: skipping state transfer. No members active in
cluster group.
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Register manager /manager to cluster element Engine with name Catalina
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager start
INFO: Starting clustering manager at /manager
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.DeltaManager
getAllClusterSessions
INFO: Manager [localhost#/manager]: skipping state transfer. No members
active in cluster group.
Nov 17, 2008 9:48:22 PM org.apache.catalina.ha.session.JvmRouteBinderValve
start
INFO: JvmRouteBinderValve started
Nov 17, 2008 9:48:22 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:12009
Nov 17, 2008 9:48:22 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/18  config=null
Nov 17, 2008 9:48:22 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2582 ms

==> /usr/local/tomcat2/logs/localhost.2008-11-17.log <==
Nov 17, 2008 9:48:22 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Nov 17, 2008 9:48:22 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()


-- 
View this message in context: http://www.nabble.com/Tomcat-6-cluster-with-Session-Persistence-not-working-%3A%28-tp20550490p20554158.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


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


Re: Tomcat 6 cluster with Session Persistence not working :(

Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
inline:

Manu_SF wrote:
> Hi,
>
> After some digging through and still not able to get it work, I thought of
> posting it here... Here's what I am trying to accomplish:
>
> * Have Apache as a Loadbalancer for 2 Tomcat 6 instances - All running on
> the same Linux box
> * Implement the session persistence using Tomcat6 so that live sessions
> could be handled by other Tomcat nodes, if one of them crashes in between.
>
> What I am able to accomplish till now:
> * Setup the load balanced servers so that *new* sessions are handled by
> whichever server is active/lightly loaded.
>
> Where I am stuck:
> * Not able to have session persistent cluster.
> * This scenario is not working:
> - Tomcat1 and Tomcat2 are up.
> - A new request comes in and Tomcat1 serves it.
> - Tomcat1 crashes and the session is lost (Instead I want it to be served by
> Tomcat2 as if nothing happened).
>
> I went through the steps mentioned here:
> http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html (which is exactly
>   
did you put <distributable/> in your XML?
> what I am trying to achieve). But when I kill the active server, the session
> is lost..
>   
what do your tomcat logs say?
> In index.jsp, I am extending the Session so that it can be serialized...
> And, I am creating an instance so that I can use a serializable session for
> session-persistence.
>   
why are you doing this, it wont change the behavior of your system.
It's the session attributes that have to be serializable

Filip
> class PersistentSession implements javax.servlet.http.HttpSession,
> java.io.Serializable {
>     private javax.servlet.http.HttpSession httpSession;
>
>     protected PersistentSession()
>     {
>         httpSession = null;
>     }
>     // All necessary methods overridden
>     ... 
> }
>
> // Check "perSession" served from both tomcat instances...
> PersistentSession perSession = new PersistentSession(request.getSession());
>
>
> Here's the server.xml files from both the tomcat instances... Can anyone
> tell me what am I missing in order to run persistent sessions?
>
> server.xml from Tomcat1:
>
> <?xml version='1.0' encoding='utf-8'?>
>
> <Server port="11005" shutdown="SHUTDOWN">
>
>   <Listener className="org.apache.catalina.core.AprLifecycleListener"
> SSLEngine="on" />
>   <Listener className="org.apache.catalina.core.JasperListener" />
>   <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
> />
>   <Listener
> className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
>
>   <GlobalNamingResources>
>     <Resource name="UserDatabase" auth="Container"
>               type="org.apache.catalina.UserDatabase"
>               description="User database that can be updated and saved"
>               factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
>               pathname="conf/tomcat-users.xml" />
>   </GlobalNamingResources>
>
>   <Service name="Catalina">
>   
>     <Connector port="11009" protocol="AJP/1.3" redirectPort="8443" />
>
>     <Engine jvmRoute="tomcat1"  name="Catalina" defaultHost="localhost"
> debug="0">
>
>         <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
>                  channelSendOptions="8">
>
>           <Manager className="org.apache.catalina.ha.session.DeltaManager"
>                    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="4001"
>                       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"/>
>
>           <Deployer
> className="org.apache.catalina.ha.deploy.FarmWarDeployer"
>                     tempDir="/tmp/war-temp/"
>                     deployDir="/tmp/war-deploy/"
>                     watchDir="/tmp/war-listen/"
>                     watchEnabled="false"/>
>
>           <ClusterListener
> className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
>           <ClusterListener
> className="org.apache.catalina.ha.session.ClusterSessionListener"/>
>         </Cluster>    
>
>
>       <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
>              resourceName="UserDatabase"/>
>       <Host name="localhost"  appBase="webapps"
>             unpackWARs="true" autoDeploy="true"
>             xmlValidation="false" xmlNamespaceAware="false">
>
>       </Host>
>     </Engine>
>   </Service>
> </Server>
>
>
>
> server.xml from Tomcat2:
>
> <?xml version='1.0' encoding='utf-8'?>
>
> <Server port="12005" shutdown="SHUTDOWN">
>
>   <Listener className="org.apache.catalina.core.AprLifecycleListener"
> SSLEngine="on" />
>   <Listener className="org.apache.catalina.core.JasperListener" />
>   <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
> />
>   <Listener
> className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
>
>   <GlobalNamingResources>
>     <Resource name="UserDatabase" auth="Container"
>               type="org.apache.catalina.UserDatabase"
>               description="User database that can be updated and saved"
>               factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
>               pathname="conf/tomcat-users.xml" />
>   </GlobalNamingResources>
>
>   <Service name="Catalina">
>   
>     <Connector port="12009" protocol="AJP/1.3" redirectPort="8443" />
>
>     <Engine jvmRoute="tomcat1"  name="Catalina" defaultHost="localhost"
> debug="0">
>
>         <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
>                  channelSendOptions="8">
>
>           <Manager className="org.apache.catalina.ha.session.DeltaManager"
>                    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="4002"
>                       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"/>
>
>           <Deployer
> className="org.apache.catalina.ha.deploy.FarmWarDeployer"
>                     tempDir="/tmp/war-temp/"
>                     deployDir="/tmp/war-deploy/"
>                     watchDir="/tmp/war-listen/"
>                     watchEnabled="false"/>
>
>           <ClusterListener
> className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
>           <ClusterListener
> className="org.apache.catalina.ha.session.ClusterSessionListener"/>
>         </Cluster>    
>
>       <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
>              resourceName="UserDatabase"/>
>
>       <Host name="localhost"  appBase="webapps"
>             unpackWARs="true" autoDeploy="true"
>             xmlValidation="false" xmlNamespaceAware="false">
>
>       </Host>
>     </Engine>
>   </Service>
> </Server>
>
>   


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