Hello,
we have a problem replicating sessions using Tomcat.
We are using two servers which are load-balanced using Apache. We want to 
achieve session preservation over multiple requests of the same user (he might 
be forwarded to different servers for those requests).

What we tried to set up until now is database replication of the sessions using 
Tomcat's PersistentManager and the JDBCStore with a MySQL database. But if we 
request a page on one server only it takes about 10-60 seconds until the 
session is written to the database. Of course, the other server does not know 
about the session during this time and will create another session, if the 
second request goes to this server. Is this a known problem of the 
PersistentManager or might there be a misconfiguration?
The problem is actually not the replication but the delayed writing of the 
PersistentManager to the database.

This is what we put into server.xml:

<Context docBase="jsp-examples" path="/jsp-examples">
        <Manager  className="org.apache.catalina.session.PersistentManager" 
maxIdleBackup="0" maxIdleSwap="0" checkInterval="1">
                <Store className="org.apache.catalina.session.JDBCStore" 
                        
connectionURL="jdbc:mysql://host/db?user=user&amp;password=password"            
                            
                        driverName="com.mysql.jdbc.Driver" 
                        debug="4"
                        sessionIdCol="session_id"
                        sessionValidCol="valid_session"
                        sessionMaxInactiveCol="max_inactive"
                        sessionLastAccessedCol="last_access"
                        sessionTable = "tomcat_sessions"
                        sessionAppCol = "app_context"
                        sessionDataCol = "session_data"
                />
        </Manager>
</Context>

We read on Tomcat's website that the PersistentManager should be considered 
"experimental". Might that be the problem or can anyone suggest another 
solution for session replication?

Thank you for your help,
Nino Ulsamer

Reply via email to