Are these tomcats on the same machine or different machines. I had the
same problem with my tomcat setup and as I was running the 2 tomcats on
the same machine. To get rid of the problem I added virtual host in
apache conf file for the other tomcat and then it started working fine
as there were 2 hosts from where the request was generated (main machine
host + virtual host).

The problem is that one JSESSIONID cookie is maintained per host and I
could see that tomcat 2 jsessionid was overwriting the tomcat 1
jsessionid cookie as the request was coming from the same host.

Its not just IE but problem could be seen in firefox also. The other way
to avoid the problem is to disable cookies in the browser setting.

Arnab

-----Original Message-----
From: Alex Korneyev [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, December 01, 2004 2:55 AM
Cc: [EMAIL PROTECTED]
Subject: JSESSION Internet Explorer

Hello all,

 i am hoping someone has seen the following behavior.


 TomcatA sends a redirect to TomcatB

 on the backend, I can see that TomcatB receives a JSESSIONID that was
 originally assigned to it by TomcatA;

 i.e. cookie = JSESSIONID=6EF95FA9AA98E608C555E28875F57054;


 I rewrite reset the jsession id ( see the code bellow ), but


 on the next request i see this:

 cookie = JSESSIONID=6EF95FA9AA98E608C555E28875F57054;
JSESSIONID=2251830F6F64DEFC974C19C79F1EABAB

 for some reason using Mozilla works, but I.E. is the one that passes
 2 JSESSIONID variables. Thoughts?

        if (cookies != null && cookies.length > 0)
                {
                        int len = cookies.length;
                        for (int i = 0; i < len; i++)
                        {
                                if
(cookies[i].getName().equalsIgnoreCase("jsessionid"))
                                {
                                        cookies[i].setMaxAge(-1);
                                        cookies[i].setPath("/");
                                        _LOGGER.debug("COOKIE VALUE " +
cookies[i].getValue() );
                                        _LOGGER.debug("session id:  " +
request.getSession().getId() );
                                        _LOGGER.debug(" comp" + (
request.getSession().getId().equals(cookies[i].getValue())));
                                        if (
request.getSession().getId().equals(cookies[i].getValue()))
                                        {
                                                _LOGGER.debug("equal");
 
response.addCookie(cookies[i]);
                                        }
                                        else
                                        {
                                                _LOGGER.debug("not
equal");
                                                Cookie sessionCookie =
new Cookie("JSESSIONID", request.getSession().getId());
 
response.addCookie(sessionCookie);
                                        }
                                        foundCookie = true;
                                        _LOGGER.debug("updated session
cookie");

                                }
                        }
                } 

 

 


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


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

Reply via email to