Hi again,
  When using two workers like that you must set the domain property for
each of them for having mod_jk send the requests to the appropriate
Tomcat instance.
  Add the following two lines to your workers properties file:
    worker.tomcat1.domain=tomcat1
    worker.tomcat2.domain=tomcat2
  And for each Tomcat instance, set the "jvmRoute" attribute of the
Engine element in the respective server.xml configuration to the value
that you used in the respective worker "domain" property above for each
instance ("tomcat1" and "tomcat2" above).

  -- Edgar Alves

Allistair Crossley wrote:
> Hi Edgar,
>
> Yep I just noticed that too :)) However, correcting this configuration
> (to the below) does nothing to resolve the issue, because the lb worker
> type by default has sticky_session=1. I set it explicitly anyway as
> below.
>
> However, I have noticed that in fact Tomcat 2 is not returning
> JSESSIONID headers as Tomcat 1 does when both Tomcats are in.
>
> To recap then, when only Tomcat 1 is in the loop, JSESSIONIDs are
> returned and remains consistent across requests. When Tomcat 2 is
> brought in, Tomcat 1 starts generating a different JSESSIONID per
> request, whilst Tomcat 2 returns no JSESSIONID at all.
>
> Thanks, Allistair
>
> === new config ===
>
> worker.list=loadbalancer
>
> worker.tomcat1.port=8009
> worker.tomcat1.host=localhost
> worker.tomcat1.type=ajp13
> worker.tomcat1.lbfactor=1
> worker.tomcat1.cachesize=10
>
> worker.tomcat2.port=8109
> worker.tomcat2.host=localhost
> worker.tomcat2.type=ajp13
> worker.tomcat2.lbfactor=1
> worker.tomcat2.cachesize=10
>
> worker.loadbalancer.type=lb
> worker.loadbalancer.balance_workers=tomcat1,tomcat2
> worker.loadbalancer.sticky_session=1
>
>
> -----Original Message-----
> From: Edgar Alves [mailto:[EMAIL PROTECTED] 
> Sent: 18 April 2006 12:32
> To: Tomcat Users List
> Subject: Re: JK Sticky Session Handling with Load Balancing
>
> Hi there,
>   You're setting the sticky_session property for each worker. That's not
> how it works.
>   That property is valid only for the loadbalancer and it takes a
> boolean value. Set it to 'True' or '1' to get the desired effect.
>   Read http://tomcat.apache.org/connectors-doc/config/workers.html for
> more info.
>
>   -- Edgar Alves
>
> Allistair Crossley wrote:
>   
>> Hi,
>>
>> I have setup 2 Tomcats on the same machine fronted by IIS, and used a
>> sticky_session=1 JK (1.2.15) load-balanced setup (as printed at the 
>> foot of this email)
>>
>> I setup a JSP on both Tomcats that outputs the session ID.
>>
>> With only 1 Tomcat started, making requests to the JSP results in the 
>> same session ID being output on each request.
>>
>> When I start up the 2nd Tomcat and continue making requests to the 
>> JSP, I am switched between both Tomcats rather than staying on the 
>> same Tomcat and therefore acquire a new session ID.
>>
>> However, with the 2 Tomcat's "in the loop" the session Ids become 
>> different *per request* no matter which Tomcat is used.
>>
>> I would have expected at most 2 unique session Ids (one per Tomcat) 
>> since with 1 Tomcat running only, the 1 unique session ID is
>>     
> maintained.
>   
>> I would appreciate any help or guidance as to why this may be
>>     
> happening.
>   
>> Cookies are enabled, and jsessionid is not being used on URLs.
>>
>> Cheers, Allistair.
>>
>> == config ==
>>
>> worker.list=loadbalancer
>>
>> worker.tomcat1.port=8009
>> worker.tomcat1.host=localhost
>> worker.tomcat1.type=ajp13
>> worker.tomcat1.lbfactor=1
>> worker.tomcat1.cachesize=10
>> worker.tomcat1.sticky_session=1
>>
>> worker.tomcat2.port=8109
>> worker.tomcat2.host=localhost
>> worker.tomcat2.type=ajp13
>> worker.tomcat2.lbfactor=1
>> worker.tomcat2.cachesize=10
>> worker.tomcat1.sticky_session=2
>>
>> worker.loadbalancer.type=lb
>> worker.loadbalancer.balance_workers=tomcat1,tomcat2
>>
>>     

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to