2015-09-28 120 views
0

我对Apache Camel非常陌生,如果有人能够提供我可以用来解决特定任务的骆驼组件,我将非常感激。 我有一个简单的REST WS。这项服务对观众不可访问。 这个想法是在用户请求和端点服务之间​​建立中间层。 所以我必须捕捉用户的请求,对它进行一些操作,发送给受限制的WS并给用户一个响应。 我刚开始学习apache camel,问题是实现这个逻辑的最好方法是什么。 Thx提前!以Apache Camel开头

回答

0

坦率地说,Camel并不是实现Web控制器的正确框架。当然,还有Camel Rest Module,但它将框架的责任扩展得太远了。

我推荐使用更适应框架来实现WS,例如, SpringJersey,并从请求处理程序以编程方式调用Camel端点。在Spring中,触发骆驼终点是很容易,因为CamelContext可以得到自动连接到网络控制器:

camelContext.createProducerTemplate().sendBodyAndHeader("direct:myEndpoint", null, "id", id); 

为了您的骆驼根这种方法意味着,它开始具有一个Direct endpoint,然后转发到Camel http端点,如果需要转发来自HTTP调用一些的Spring bean转换步骤的输出,最终传递回web控制器的处理方法之前:

<route> 
     <from uri="direct:myEndpoint"/> 
     <to uri="http:somehost.com"/> 
     <transform> 
      <method ref="springBean" method="doSomeTransformation"/> 
     </transform> 
    </route> 
0

那么有您可以使用此任务几个骆驼组成部分。将骆驼想象成一个工具箱,您可以从多个工具中选择一个进行相同任务。

您可以使用:

示例使用Java DSL:

from("jetty://http://localhost:7070/test").to("jetty://http://localhost:7070/test1"); 

例使用蓝图

<route> 
    <from uri="jetty://http://localhost:7070/test"/> 
    <to uri="jetty://http://localhost:7070/test1"/> 
<route> 
+0

WHIS这是得到一个downvote? –