Hmm, it sounds unlikely that different sessions would get mixed up like that.
Perhaps the problem is with some other variable that happens to be visible to 
several users?

I haven't done Tap4 in a while, but maybe you could look for:
- any field in a page class, they should probably all be abstract getters.
  You need to reset any such fields manually before rendering the page.
- any non-final field in a service, they should probably all be final and 
initialized in the constructor
  Hivemind services are singletons by default so if you put any stateful data 
there it will be visible to all users

On Tue, 13 Oct 2009 15:01:33 +0200, TomMax <tryk...@poczta.onet.pl> wrote:

Hi all,

I'm working in a developers team with Tapestry applications (version 4.0.2)
for more than 2 years. Our Tapestry applications works on various
Application Servers (JBoss, SAP Netweaver), and usually we were able in our
team to resolve all problems, recently however, we spotted a problem with
Application State Object, which is responsible for user session data and we
can't find the bug.

The problem is that two users see sometimes the same data on a page. In our
scenario User1 and User2 have their own userSession objects (they are ASO
object with session scope), these objects keep all their data, and these
objects are injected to every page in .page file:

<inject property="userSession" object="userSession" type="state" />

Every user has own userSession object, so every user should see only his own
data on a page, but sometimes (quite rarely), we got the situation, that
User2 sees the data from User1 userSession object when he get the page,
where User1 was earlier.
So far I know, in case of ASO objects, the references in a page to these
objects, should be set to null on pageDetach action. So each time when the
user is receiving the page from PagePool (or newly created page), he should
obtain also fresh ASO object from ApplicationStateManager.
We have got currently this problem not so often (usually it is one or two
times in a two week period, in case when the application is used by 3-4
persons 8 hours per day), and when the problem happens, usually all working
users are receiving wrong data (they see the data from other users).

I hope someone will be able to help me.

Thanks
Tomek

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to