This does make a lot of sense to me. websocket is really a standard for
which there could be multiple implementations. Thus, the component name
really should be the implementation, not the standard. Otherwise you get
into the whole "camel-http" issue again of having multiple things that COULD
be implementing it.
So +1 for merging into Jetty from me.
Dan
On Monday, June 11, 2012 11:38:15 AM Claus Ibsen wrote:
> Hi
>
> In Camel 2.10 we introduce a new component: camel-websocket.
> Its currently based on Jetty, and thus requires jetty to be used.
>
> In recent time the component was enhanced to support SSL with websocket as
> well. That change brings in a lot of code that was
> copied directly from the existing camel-jetty component.
>
> So I wonder if we should consider
>
> 1)
> Merge the code from camel-websocket into camel-jetty, as its all Jetty
> based.
> This avoid duplicated code,
> This allows to share port numbers with http services and websocket.
> Currently that is not possible as its 2 different components.
>
> 2)
> Change the component name from websocket, so its part of jetty, eg
>
> from("websocket:foo")
> becomes
> from("jetty:ws:foo")
>
> The current jetty component supports
> - http
> - https
>
> So adding websocket is a matter of having
> - ws
> - wss
>
> 3)
> In the future there will be other websocket implementations/components in
> Camel. For example the Atmosphere framework seems to be a great framework
> for that. As well with future releases of the JEE spec may introduce
> websocket support from a spec point of view.
> So having camel-websocket that is tied to Jetty seems to tie the "generic"
> websocket name to a specific implementation (jetty).
>
>
>
> Any thoughts?