Hello Everyone!
 
I have a class, CategoryBrowser of type BasePage which has a transient
property, a JavaBean called ProductCategory. ProductCategory makes use of an
instance field:
private List<Category> subCategories = null;
 
This list is initialized in CategoryBrowser upon every request. Every access
to subCategories is synchronized. In the CategoryBrowser.pageDetached() the
ProductCategory property is set to null.
 
The problem:
The state of the subCategories field is retained between requests. During
all subsequent requests after the 1st one, the initial value of
subCategories is not null (dispite the declaration above).
 
And when this happens the current state of subCategories may even be
observed in another browser/session. Here's the test that I performed:

1.      initiate the misbehavior in Firefox 

2.      close Firefox and start Opera 

3.      browse to the page where subCategories is first initialized

The result: the state of subCategories reflects the state it got in Firefox
(1), i.e. it is was not null upon first request and already contained some
values from the session in Firefox.
 
Any idea on what's going on?
 
My platform:
Tapestry 4.0.1 (started with -Dorg.apache.tapestry.disable-caching=true)
JVM 1.5.0_06-b05 / WinXP SP2
Tomcat 5.5.9
Latest Firefox, Opera and MSIE
 
 
Thank you for your time!
 
</Firas> 
 

Reply via email to