Another thing to look for are object references inside the ASO. Perhaps they point to the same mutable object?
Olle Hallin Senior Java Developer and Architect olle.hal...@crisp.se www.crisp.se 2009/10/13 Martin Strand <do.not.eat.yellow.s...@gmail.com> > 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 > >