我试图在Apache Camel中使用Jetty continuations和AsyncProcessor,但遇到了问题。基本上,我希望Jetty web请求等待多播/聚合路由完成,然后用结果填充servlet响应。所以我的骆驼路线文件如下,
<route>
<from ref="incomingJettyEndpoint"/>
<inOnly uri="direct:multiCastRoute"/>
<process ref="asyncProcessor"/>
</route>
<route>
<!-- Aggregator -->
</route>
我正在交换的头中传递continuations对象,我正试图用它来发送回响应。有人能帮我处理asyncProcessor吗?这样线程就在那里等待而不会完成继续?此外,在返回所有多播消息后,我是否可以从聚合器通知asyncProcessor,以便我可以写回结果?
路由上的inOnly
意味着它不处理响应。
只需使用to
,就像一样
<route>
<from ref="incomingJettyEndpoint"/>
<to uri="direct:multiCastRoute"/>
<process ref="asyncProcessor"/>
</route>
<route>
<!-- Aggregator -->
</route>