blob: f0e7c33b2e6cee48c15ce007e99221484a8a8546 [file] [log] [blame]
[[Atmosphere-Websocket-AtmosphereWebsocketServletComponent]]
Atmosphere Websocket Servlet Component
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Available as of Camel 2.14*
The *atmosphere-websocket:* component provides Websocket
based link:endpoint.html[endpointsfor a servlet communicating with
external clients over Websocket (as a servlet accepting websocket
connections from external clients). +
The component uses the link:servlet.html[SERVLET] component and uses
the https://github.com/Atmosphere/atmosphere[Atmosphere] library to
support the Websocket transport in various Servlet containers (e..g.,
Jetty, Tomcat, ...).
Unlike the
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=39621544[Websocket]
component that starts the embedded Jetty server, this component uses the
servlet provider of the container.
Maven users will need to add the following dependency to
their `pom.xml` for this component:
[source,xml]
------------------------------------------------------------
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-atmosphere-websocket</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
------------------------------------------------------------
[[Atmosphere-Websocket-URIFormat]]
URI Format
^^^^^^^^^^
[source,java]
-----------------------------------------------
atmosphere-websocket:///relative path[?options]
-----------------------------------------------
[[Atmosphere-Websocket-ReadingandWritingDataoverWebsocket]]
Reading and Writing Data over Websocket
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
An atmopshere-websocket endpoint can either write data to the socket or
read from the socket, depending on whether the endpoint is configured as
the producer or the consumer, respectively.
[[Atmosphere-Websocket-ConfiguringURItoReadorWriteData]]
Configuring URI to Read or Write Data
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In the route below, Camel will read from the specified websocket
connection.
[source,java]
-------------------------------------------
from("atmosphere-websocket:///servicepath")
.to("direct:next");
-------------------------------------------
And the equivalent Spring sample:
[source,xml]
------------------------------------------------------------
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="atmosphere-websocket:///servicepath"/>
<to uri="direct:next"/>
</route>
</camelContext>
------------------------------------------------------------
In the route below, Camel will read from the specified websocket
connection.
[source,java]
---------------------------------------------------
from("direct:next")
.to("atmosphere-websocket:///servicepath");
---------------------------------------------------
And the equivalent Spring sample:
[source,xml]
------------------------------------------------------------
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:next"/>
<to uri="atmosphere-websocket:///servicepath"/>
</route>
</camelContext>
------------------------------------------------------------
 
[[Atmosphere-Websocket-SeeAlso]]
See Also
^^^^^^^^
* link:configuring-camel.html[Configuring Camel]
* link:component.html[Component]
* link:endpoint.html[Endpoint]
* link:getting-started.html[Getting Started]
* link:servlet.html[SERVLET]
* link:ahc-ws.html[AHC-WS]
*
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=39621544[Websocket]