我的需求是有一个web服务,它将接收来自客户端的请求,然后通过camel路由,丰富它,并将其转发到其他客户端的另一个web服务,获得响应,并将其发送回原始请求者。
from(webserviceURI)
.inOut().to("jms:queue:INQueue?replyTo=OUTQueue?replyToType=Exclusive");
from(jms:queue:INQueue).to("http:X").to(jms:OUTQueue)我理解如果我们这样做,我们需要设置ReplyTo头的correct.Do。我猜这解决了问题,.Earlier在一篇帖子中,Claus (骆驼神:P)解释说,没有必要设置相关性id,因为如果没有赋值,Camel会自动设置。Refer Here
我的问题是,我们正在寻找超轻量级的implementation.we可能不得不与低至300 MB.No activeMQ的内存作斗争,如果我们需要使用具有小footprint.or的jms,那么使用karaf.what是最好的jms提供商。
我也想这样做
<from uri="cxf:bean:cxfProxyEndpoint?dataFormat=MESSAGE" />
<camel:convertBodyTo type="java.lang.String"></camel:convertBodyTo>
<!-- lot of pre processors here-->
<to uri="http://X:8080/X">
<!-- lot of post processors-->cxf proxy webservice有返回value.So的操作,我们接收请求,将其发送到预处理器,然后调用远程webservice作为http端点,获取响应,post处理它,响应是路由末尾的消息(我是否正确).My问题将请求和响应match.How如果我测试it.we也将从代理多播请求到各种http端点,并在将其发送到客户端requestor.Should之前聚合回复。我真的在这条路由上进行,还是这是一个糟糕的设计。
发布于 2012-12-07 15:06:57
是的,后一个示例将匹配。每个web服务请求将被单独路由,并且来自外部http服务器的响应将自动匹配。在您的用例中,您很可能不需要JMS。
如果您有一个外部系统,并且需要使用JMS消息传递与之集成,则JMS是有意义的。否则,如果没有,我建议在没有它的情况下寻找解决方案。
https://stackoverflow.com/questions/13758380
复制相似问题