Thanks for stepping out Gianny!

I thought WADI use the "clusterNameNode" value set in var/config/ to append to JSESSIONID, at least for Jetty [1]. If I'm right, I suggest that we use the same setting for Tomcat, instead of using the jvmRoute parameter which is used by Tomcat native clustering.



2009/5/14 Gianny Damour <>

There are various way to fulfill session stickiness. I have been conducting all my integration tests with HAProxy,, which does not require downstream load-balanced servers to do any manipulations to session cookies.

I created an improvement ticket,, to capture the need to augment returned session cookies with jvmRoute information so that mod_jk can be used. I also checked in against trunk some code to address this problem. I have not yet integration tested this code change with mod_jk; However, I am quite confident with the change.

I intend to do some integration tests over the week-end to confirm the proper resolution of this problem. Meanwhile, if you want, you can check-out this module:

build it with maven and install the resulting artifact into your repository to give it a try.

FWIW, if you can swap your reverse-proxy or load-balancing layer currently realised by Apache mod_jk, then I would recommend HAProxy.


On 14/05/2009, at 2:02 PM, Jack Cai wrote:

With WADI, your guess is right that the clusterNodeName in is used to identify each node. So if this is not working, then it's a bug. You can open a JIRA.


2009/5/14 Dennis Cartier <>

On Wed, May 13, 2009 at 10:36 AM, Jack Cai <> wrote:
Tomcat native clustering and WADI are two different approaches.

To try out Tomcat native clustering, for example, please refer to this doc [1]. It clearly points
out that you need to set the "jvmRoute" parameter (note ID) in the config.xml.

Good luck!



2009/5/13 Dennis Cartier <>

On Tue, May 12, 2009 at 10:19 PM, viola lu <> wrote:
First, pls set up tomcat or wadi cluster following this link:
and then configure apache http server to realize session affinity, if you use mod_jk way: edit under $http server install dir/conf with
if you use mod_proxy, you can edit httpd.conf with:
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID


On Wed, May 13, 2009 at 9:10 AM, Dennis Cartier <> wrote:
I am trying to find out how to configure G2.1.4 for session affinity when using Tomcat and WADI. Would anyone be able to point me in the right direction?

I thought that ClusterNodeName looked like a good guess in the file but that does not seem to attach a node name to the generated session.

Any help would be appreciated.



Thanks for the pointers Viola. I am fine with the clustering aspects as far as Apache goes, I am just having trouble getting the node name to be properly appended to the generated JSESSIONID.

I changed to the target namespace as indicated in the G2.2 cluster docs (<web-app xmlns="">) and I already had my WAR marked distributable as well as having the <tomcat-clustering-wadi /> element in place.

Unfortunately I still do not get a node name being appended to the generated session so no affinity results.

I noticed the G2.2 docs had a section on switching WADI to unicast. This sounded optional, I assume the default multicast mode of WADI is functional and changing to unicast is not required?

I remain stumped. With no session affinity my requests are still spraying across the entire cluster rather then being sticky to a single node.


Hmmm, I am getting the feeling that stick sessions (session affinity) is not possible in WADI clustering? I am not really wanting to switch to Tomcat native clustering at this point. Does anyone know if WADI (as implemented in G2.1.4) supports sticky sessions?