7 Replies Latest reply on Jan 27, 2009 9:55 AM by maverickatul

    Session Replication and Sticky Session

    oosie

      I'm using JBoss 4.2.3.GA on two nodes and Apache 2.2 on a separate node. I'm trying to have both session replication and sticky session to work at the same time, but so far without success.

      I started to configure my setup for sticky session alone, by adding the jvmRoute attribute to the Engine tag on each JBoss node. I configured my Apache's load balancer accordingly. Testing this setup showed that sticky sessions works fine: I see the jvmRoute attribute value nicely appended to each JSESSIONID, and Apache is making sure the sticky part works.

      Then I continued to configure my setup throwing session replication in the mix. I added to my application's web.xml and created the additional jboss-web.xml as follows:

      <jboss-web>
       <replication-config>
       <replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
       <replication-granularity>SESSION</replication-granularity>
       <replication-field-batch-mode>true</replication-field-batch-mode>
       </replication-config>
      </jboss-web>

      I verified that session replication works with this setup. However, the jvmRoute attribute value is not being appended to the JSESSIONID anymore, thus losing the stickyness.

      My application is just a simple test servlet that returns the IP address of the node that handled the request, the JSESSIONID associated with the current session, and a counter which is stored into the session and gets incremented with each incoming request associated with that session. It doesn't use any kind of framework. It's just a simple servlet.

      What am I missing here?

      Thanks,
      Jack...