Hi Claus, I completely agree on your proposition as we reuse pieces of code between the different (same) camel components (jetty, websocket but also cometd) as they increase "maintenance" costs.
Point 1) --> +1 to merge camel-jetty, camel-websocket and camel-cometd The most important thing will be to reuse code of websocket as it supports to register in a camel context a Jetty Application Server but with different servlets (acting as producer or consumer or producer/consumer). This is not the case for camel-cometd and camel-jetty I would like also to propose that we include camel-cometd component as it uses also jetty but for cometd bayeux protocol. Moreover, it provide additional feature like CORS which is really important for websocket/cometd. This is why I have created a ticket to also support CORS in websocket (https://issues.apache.org/jira/browse/CAMEL-5354). Agreement should be find between different components to adopt the same Jetty version (7.5.4 or 8.1.3 for websocket support) Point 2) --> +1 : jetty:protocol where protocol = ws, wss, cometd, cometds, http, https Point 3) --> +1 : As we plan to develop in a near future camel-atmosphere, camel-vertx, camel-nodejs components to support different IO architecture Regards, Charles Moulliard Apache Committer Blog : http://cmoulliard.blogspot.com Twitter : http://twitter.com/cmoulliard Linkedin : http://www.linkedin.com/in/charlesmoulliard Skype: cmoulliard On Mon, Jun 11, 2012 at 11:38 AM, Claus Ibsen <claus.ib...@gmail.com> 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? > > > > -- > Claus Ibsen > ----------------- > FuseSource > Email: cib...@fusesource.com > Web: http://fusesource.com > Twitter: davsclaus, fusenews > Blog: http://davsclaus.com > Author of Camel in Action: http://www.manning.com/ibsen >