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