Tapestry pools pages and components, so it is supposed to re-use an
available component rather than create a new one, if there is one available.
It's a little like a server having a pool of worker threads to service
requests.

If you are having problem with the state being shared between users, then
you have made a mistake in how you are using instance variables or
persisting state.  If you post your code, I'm sure your mistake can be
easily identified.

Jonathan


> -----Original Message-----
> From: kawes [mailto:rafal.kawe...@gmail.com]
> Sent: Sunday, December 14, 2008 15:43
> To: users@tapestry.apache.org
> Subject: Layout Border component problem
> 
> 
> Hi Guys,
> I just started to use T5 and lately I have hit a problem which I cannot
> resovle.
> 
> I created a Border component which contains a navigation menu.
> 
> I also created some kind of a sub-applications, let's call them MyMode1,
> MyMode2, MyMode3 etc and palced pagelinks to them in Border navigation.
> Then I implemented another border-like components MyMode1Border,
> MyMode2Border, MyMode3Border which are wrapped by Border and contains
> navigation specific to each Mode.
> 
> Now, when a new user logs in the Border page, containing pagelinks to each
> Mode, is being displayed.
> 
> Then the user chooses some Mode and starts doing some stuff.
> The problem is that when another user logs in and goes to the same Mode as
> the prevoius one
> he is given the same instance of the Mode so when he does some stuff on
> the
> page too he overrides what the other guy did.
> 
> I added System.out.println to the non-argument constructors of  each page
> and here is what I found out:
> 
> When I restart the server and the first user comes in, clicks login button
> the following instantiations take place:
> 
> com.kawecki.wapp.components.bor...@617584
> [INFO] AppModule.TimingFilter Request time: 625 ms
> com.kawecki.wapp.components.mymode1bor...@2d09e0
> com.kawecki.wapp.components.bor...@12297d7
> com.kawecki.wapp.components.mymode2bor...@11d20d3
> com.kawecki.wapp.components.bor...@1562c67
> com.kawecki.wapp.components.MyMode3Border
> com.kawecki.wapp.components.bor...@149249e
> [INFO] AppModule.TimingFilter Request time: 594 ms
> 
> Then, when the user clicks on one of the Mode pagelinks new objects are
> created just like above.
> But when new user logs in no new object are created and both of them uses
> the same instance of a MyMode1Border class.
> 
> I read about page pooling, onPassivate, onActivate but my problem seems to
> work just opposite.
> So if anybody could let me know what I do wrong I would appreciate a lot.
> 
> Hope I was clear enough
> Thanks in advance
> --
> View this message in context: http://www.nabble.com/Layout-Border-
> component-problem-tp21004400p21004400.html
> Sent from the Tapestry - User mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org


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

Reply via email to