The cometd: component is a transport for working with the jetty implementation of the cometd/bayeux protocol.
Using this component in combination with the dojo toolkit library it's possible to push Camel messages directly into the browser using an AJAX based mechanism.
cometd://host:port/channelName[?options]
The channelName represents a topic that can be subscribed to by the Camel endpoints.
cometd://localhost:8080/service/mychannel cometds://localhost:8443/service/mychannel
where cometds: represents an SSL configured endpoint.
See this blog entry by David Greco who contributed this component to Apache Camel, for a full sample.
Name | Default Value | Description |
---|---|---|
baseResource | The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar | |
timeout | 240000 | The server side poll timeout in milliseconds. This is how long the server will hold a reconnect request before responding. |
interval | 0 | The client side poll timeout in milliseconds. How long a client will wait between reconnects |
maxInterval | 30000 | The max client side poll timeout in milliseconds. A client will be removed if a connection is not received in this time. |
multiFrameInterval | 1500 | The client side poll timeout, if multiple connections are detected from the same browser. |
jsonCommented | true | If true, the server will accept JSON wrapped in a comment and will generate JSON wrapped in a comment. This is a defence against Ajax Hijacking. |
logLevel | 1 | 0=none, 1=info, 2=debug. |
You can append query options to the URI in the following format, ?option=value&option=value&...
Here is some examples on How to pass the parameters
For file (for webapp resources located in the Web Application directory --> cometd://localhost:8080?resourceBase=file./webapp
For classpath (when by example the web resources are packaged inside the webapp folder --> cometd://localhost:8080?resourceBase=classpath:webapp