【发布时间】:2017-03-10 16:06:56
【问题描述】:
在我的 Camel 应用程序中,有 2 个 CXF 端点由相同的处理路由处理,AFAIK 每个端点可能会根据传入的 HTTP 请求并行生成 Exchange。
两个端点使用direct: 组件通过相同的路由转发请求,该组件有时被描述为调用方法的Camel等价物。
direct: 组件在生产者发送消息交换时提供对任何消费者的直接、同步调用。
我的问题:
-
direct:组件是否并行运行不同的请求? (每个请求都有自己的 Exchange 并由不同的 javaThread执行) - 如果不是,如何并行处理 CXF 请求?
这是我的情况:
<route id="CxfRoute1">
<from uri="cxf:bean:endpoint1" />
<to uri="direct:handle" />
</route>
<route id="CxfRoute2">
<from uri="cxf:bean:endpoint2" />
<to uri="direct:handle" />
</route>
<route id="HandleStuffRoute" />
<from uri="direct:handle" />
<to uri="bean:stuffHandler" />
</route>
【问题讨论】:
-
2 个请求如何同时到达您的路线?我想,即使在 TCP 级别,也会有某种队列。听起来它总是一次执行一个 CXF 端点。
-
它们在 TCP 级别可能是顺序的,在执行/线程级别可能是并行的。我不想在一个请求完成处理之前阻止。
标签: apache-camel cxf