Hi,
I think that this is definitelly thread issue because data is shared between multiple threads. Even when every page instance would have it's own *copy* of the data, it is still shared between multiple instances at the end. Of cource yes - every page will run in it's own thread but this does not erase thread problems. Regards, Kristjan Kelt nille hammer wrote: > > Hi, > > This is NOT a thread issue, but behavoiour that one would expect with > values persisted in the session. The requests coming all from within the > same session store and fetch the (same) value in the sesion. > > Add this to the java file > @PageAttached > private void showPageInstance() { > System.out.println(this); > } > You'll see that each request is handled by a different instance of the > page therefore handled in a thread safe manner. > > The only problem observed here is the double submit problem. That is not a > bug of Tapestry but must be handled by every webapp no matter what > framework. Ways to do this are unique ids for forms or a state field. > > Regards, nillehammer > == > http://www.winfonet.eu > > ----- original Nachricht -------- > > Betreff: Re: T5 Page field persistance and multithread problems > Gesendet: Di, 14. Jul 2009 > Von: Robert Zeigler<robe...@scazdl.org> > >> Well, it /is/ the case that page fields and pages are thread-safe. >> But persistent fields are accessing their data from the session, and >> session-bound data is only thread-safe if you explicitly make it so. >> You're right, though: the documentation should probably be more clear >> in that regard, as you pointed out. >> >> Robert >> >> On Jul 13, 2009, at 7/133:21 PM , kristjankelt wrote: >> >> > >> > Hi, >> > >> > After a little thinking about Tapestry persistence, I constructed a >> > sample >> > that shows how Tapestry page field persistence handling is not >> > thread safe. >> > >> > This is a page class and it's template: >> > >> > http://www.nabble.com/file/p24468298/NotSafe.java NotSafe.java >> > http://www.nabble.com/file/p24468298/NotSafe.tml NotSafe.tml >> > >> > Now when you hit the "update" button more than once in IE (Firefox >> > prevents >> > multiple requests, but remember that this is only client side >> > security) you >> > will still see value incremented only by one. You will see also in the >> > console multiple outputs with the same value. >> > >> > This is so because each request will get it's copy of the counter at >> > the >> > beginning of the request and will write it back after it finishes >> > processing. >> > >> > Alternative would be moving this code into "Setup Render" method and >> > hitting >> > the refresh button many times - this will work also with Firefox. >> > >> > I'm writing about this because Tapestry documentation creates sense >> > of false >> > security because it states that Page classes could be written in not >> > thread >> > safe manner (what is true when you do not have persistent fields) >> > but this >> > statement does not hold in all the cases. >> > >> > I played with the locks in the session and it kind of worked (you >> > can make >> > another request to wait or raise a exception to indicate duplicate >> > request). >> > >> > When anyone has more ideas about this problem then I'm more than >> > thankful to >> > hear about them. >> > >> > Regards, >> > Kristjan Kelt >> > -- >> > View this message in context: >> http://www.nabble.com/T5-Page-field-persistance-and-multithread-problems-tp2 >> 4468298p24468298.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 >> >> > > --- original Nachricht Ende ---- > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > > -- View this message in context: http://www.nabble.com/T5-Page-field-persistance-and-multithread-problems-tp24468298p24475427.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