Cometd/Bayeux

Jetty includes a servlet implementation of the Bayeux protocol of the CometD project 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.

Using the jetty maven plugin may not work if you are running with jetty-6. In that case, start jetty from the command line as normal as the cometd demo will be deployed by default.

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:

There is more information on the cometd.org website, but here's a few links to get you started:

Read the page on Stress Testing Cometd for more information on how to tune and scale jetty for Bayeux.