骆驼 - 多种类型的消费者

时间:2013-10-10 06:53:40

标签: web-services rest activemq apache-camel routes

我目前正在开发一个将单独运行的服务。我想以多种格式为用户提供服务。那就是用户可以通过

访问服务
  1. 拨打休息电话
  2. 制作网络服务
  3. 发布到队列
  4. 上传文件
  5. 有没有办法,我可以使用Camel提供。即骆驼站在所有这些之前,并提供路由??

2 个答案:

答案 0 :(得分:1)

是的,你可以通过Camel实现这一目标。有许多组件可以帮助您使用不同的协议公开服务。在您的情况下,您将需要jetty组件来启动http端点,进一步需要一个服务于REST请求的CXF Bean。使用spring webservices公开Web服务端点。查看apache网站上提供的现成示例:camel-examples

答案 1 :(得分:1)

每个消费者接口(文件,jms,http,cxf,rest等)都需要自己的路由,但每条路由可以调用一条公共路由来重用处理逻辑......

//first, define your interface routes to expose endpoint and convert data to common format as necessary
from("jms:...")...to("direct:processRequest");
from("cxf:...")...to("direct:processRequest");
from("jetty:...")...to("direct:processRequest");
from("file:...")...to("direct:processRequest");

//now define your common processing route
from("direct:processRequest")...