Cometd/Bayeux
Jetty includes a servlet implementation of the Bayuex protocol of cometd from the Dojo Foundation.
Cometd is a message bus for Ajax web applications that allows multi channel messaging between client and server - and more importantly - between server and client. The paradigm is publish/subscribe to named channels.
To run the demo:
cd contrib/cometd/demo
mvn jetty:run
and point your browser at http://localhost:8080/cometd. There is the usual comet chat room demo, echo demo and time sync demo. All of them are implemented with dojo.
Echo demo prints data using RPC style messaging over cometd. Time sync, is just a test that uses the timesync extension to calculate a timeoffset with the server. The time displayed below is the server time and should be the same for all clients no matter what their local clocks are set to.
The jetty implementation has extra features beyond the protocol:
- A declarative filter/security mechanism
- detection for multi-window
hassle gregw(at)mortbay.com for more details (and to write them up here).
Read the page on Stress Testing Cometd for more information on how to tune and scale jetty for Bayeux.