[OFBiz] Users - HTTP Sessions

Adrian Crum adrianc at hlmksw.com
Thu Mar 24 10:23:32 EST 2005


Okay, I'm up against this problem again!

I have a hunch it's Tomcat that is causing the problem. My educated 
guess is that Tomcat is keeping a separate session instance for each 
component (because each component is mounted as a unique webapp maybe?).

I need to maintain session attributes (or a single instance) across 
components.

I'm not an expert with containers. If anyone has any advice or insight, 
please let me know!

In the meantime, I will try switching to Jetty and see if the behavior 
goes away.

For those who are interested, here is a demonstration of the problem:

In Component 1:
   session.setAttribute("myAttribute", "One");
In Component 2:
   session.setAttribute("myAttribute", "Two");
In Component 3:
   session.setAttribute("myAttribute", "Three");
In Component 1:
   session.getAttribute("myAttribute"); returns "One"
In Component 1:
   session.setAttribute("myAttribute", "Four");
In Component 1:
   session.getAttribute("myAttribute"); returns "Four"
In Component 2:
   session.getAttribute("myAttribute"); returns "Two"
In Component 3:
   session.getAttribute("myAttribute"); returns "Three"




Adrian Crum wrote:

> I've tracked down more erratic behavior, but I still don't know what the 
> cause is.
> 
> I patched LoginEvents to explicitly remove the custom session attribute 
> during logout. It's the very first line in doBasicLogout().
> 
> When I log out and back in, the attribute from the previous session 
> reappears.
> 
> I found something that is repeatable: if I log out of the same 
> application I logged into, the attribute goes away. If I log out in a 
> different application than the one I logged into, the attribute remains.
> 
> So, somehow session attributes are being saved per application across 
> sessions.
> 
> 
> Adrian Crum wrote:
> 
>> Okay, I see in LoginEvents.java where session.invalidate() is called 
>> during logout. Problem is, invalidate() isn't working. My custom 
>> attribute is still bound to the session.
>>
>>
>> Adrian Crum wrote:
>>
>>> I'm setting a custom attribute that I need to persist across pages. 
>>> So, the attribute is set with a session.setAttribute() call in a 
>>> login.bsh script.  The attribute persists as desired across all pages.
>>>
>>> When I log out and log back in, the attribute is set again, however 
>>> it is given a different value. The new value should appear when I use 
>>> session.getAttribute() but no, I get the same value as the last login.
>>>
>>> Maybe I'm not understanding sessions. I thought the session contained 
>>> a bundle of attributes that pertain to a particular session, and a 
>>> new bundle is created with each login.
>>>
>>>
>>>
>>> David E. Jones wrote:
>>>
>>>>
>>>> Are you sure it is in the session? Which "attribute" are you looking 
>>>> at?
>>>>
>>>> -David
>>>>
>>>>
>>>> On Feb 21, 2005, at 4:23 PM, Adrian Crum wrote:
>>>>
>>>>> Okay, I know it's not my browser. If I log out, then completely 
>>>>> exit my browser, then log back in, the attribute is still there.
>>>>>
>>>>>
>>>>> Adrian Crum wrote:
>>>>>
>>>>>> How/when do HTTP sessions expire? Shouldn't logout expire a 
>>>>>> session, or somehow make it invalid?
>>>>>> I'm having a problem where I set a session attribute, logout, then 
>>>>>> log back in, and the attribute is still there.
>>>>>> _______________________________________________
>>>>>> Users mailing list
>>>>>> Users at lists.ofbiz.org
>>>>>> http://lists.ofbiz.org/mailman/listinfo/users
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at lists.ofbiz.org
>>>>> http://lists.ofbiz.org/mailman/listinfo/users
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------ 
>>>>
>>>>
>>>>  
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.ofbiz.org
>>>> http://lists.ofbiz.org/mailman/listinfo/users
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.ofbiz.org
>>> http://lists.ofbiz.org/mailman/listinfo/users
>>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.ofbiz.org
>> http://lists.ofbiz.org/mailman/listinfo/users
>>
> 
> _______________________________________________
> Users mailing list
> Users at lists.ofbiz.org
> http://lists.ofbiz.org/mailman/listinfo/users
> 


More information about the Users mailing list