Lance, Interesting timing. I'm now also in need of a push solution. I did try tapestry-cometd and it is very nice.
As noted, I was wanting to use Atmosphere for the greatly simplified Javascript support and the support of multiple protocols. I was thinking about modifying tapestry-cometd to use pure Atmosphere. Not sure how much work that will be, though. Have you looked into it any? If it seems relatively straight-forward, I may give it a go. Norman Franke Answering Service for Directors, Inc. www.myasd.com On Sep 4, 2013, at 3:43 AM, Lance Java <lance.j...@googlemail.com> wrote: > Hi Ben, > > Yes, tapestry-cometd is my creation… have you actually given it a go? > Is there something you need it to do that it can't? > I'm interested to hear your use case and if there's something that > tapestry-cometd can't do, I can help you out. > > I'll give you a bit of a history lesson on how it evolved… > > As a previous committer to DWR, I initially started out integrating > tapestry with DWR's reverse ajax. After speaking with DWR's lead developer, > he informed me that DWR's push was not bullet proof and that he himself > preferred cometd. So, I switched to cometd. I then found that cometd didn't > work on some older servlet containers but that Atmosphere has cometd > integration. So, I switched to atmosphere-cometd. So, tapestry-cometd > currently sits on top of the AtmosphereServlet. > > One of the things that I dislike about CometD is that there is no "core" > javascript implementation. Instead, you must either choose the jQuery or > Dojo client libraries. I chose jquery and tapestry-cometd actually requires > tapestry-jquery (I hate this!). If I had my time again, I would probably > have written a straight tapestry-atmosphere integration. This seems to be > the way forward since there is a core javascript implementation which does > not require jquery / dojo or another "foundation" framework. It seems that > most of the other java web frameworks out there have atmosphere integration > so I think it's a safe bet. > > That being said, a rewrite on top of atmosphere would act in a very similar > way to tapestry-cometd. > > 1. Put a PushTarget on a page > 2. Give it a "topic" and an "event" > 3. Publish a message to the "topic" > 4. Return a "block" from the event (or execute some javascript) > 5. Push the result to the PushTarget > > Howard has hinted that he'd like to add push to tapestry but I haven't > heard much lately. I've recently become a tapestry committer and I may even > provide this module myself in the fuure. As with the other tapestry > comitters, I have a day job and a social life to juggle with contributing > to open source. For the moment your options are to use tapestry-cometd or > to use tapestry and atmosphere side by side.