On Fri, Nov 12, 2010 at 3:55 PM, José Monzón <monz...@gmail.com> wrote: > I recently run into a problem that has make me consider whether > continuing using Wicket or not for a project. I hope guys you can > throw some light into it. > > I need to create a web application that uses ajax to keep itself > udpated while still allows the user interact with it also using Ajax. > Imagine something as GMail, Documents, Facebook, Twitter, etc. > > On this pages, is very common to have some ajax COMMET, long polling > or also known as inverse AJAX to keep the page updated. But that > doesn't prevent the user to click here and there and update the page > also using AJAX. They are independent XMLHttpRequest with a browser > can handle perfectly. > > I was thinking about doing this on Wicket, but apparently it's > impossible by design: > https://issues.apache.org/jira/browse/WICKET-2437 > > Page objects aren't thread-safe and wicket will block any other thread > (AJAX call) that tries to access the page while another request (for > instance our long poll) is there. > > Have you ever find yourself into this kind of problem? What's the > workaround if any? > the comet-like functionality is useful for things like chatting, but you wouldn't need access to the page for that as you're unlikely to change the component tree.
The alternative to long polling is, of course, regular polling. Queue the events and process them when a request is processed. Then you can access the page, update the component tree and rerender the relevant parts. Maintaining the queue is a bit tricky, as one has to make sure that it doesn't grow too large and it must be disposed of properly. We've used this method to implement a single-page-application that updates exclusively with ajax. It's not in the facebook/google/... range, but it works well enough for our purposes. cheers, Frank > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > -- Hippo Europe • Amsterdam Oosteinde 11 • 1017 WT Amsterdam • +31 (0)20 522 4466 USA • San Francisco 185 H Street Suite B • Petaluma CA 94952-5100 • +1 (707) 773 4646 Canada • Montréal 5369 Boulevard St-Laurent #430 • Montréal QC H2T 1S5 • +1 (514) 316 8966 www.onehippo.com • www.onehippo.org • i...@onehippo.com --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org