我在版本2.15.1中使用Karaf在OSGI场景中使用Apache Camel。我使用exchange.getExchangeId()在请求/回复中打印交换ID。交换模式设置为InOnly。路线看起来像这样:
<route id="ip_client_rpc">
<from uri="restlet:http://localhost:7070/lsp/patron/id?restletMethod=POST&synchronous=true"/>
<to uri="log:${headers}"/>
<setExchangePattern pattern="InOnly"/>
<process ref="rabbit_client"/>
<to uri="log:${headers}"/>
</route>
但是当我打印发送到rabbitmq队列的交换ID时,它总是以偶数结束。
Request from client:ID-VirtualDev-49301-1443430754519-5-6
Request from client:ID-VirtualDev-49301-1443430754519-5-8
Request from client:ID-VirtualDev-49301-1443430754519-5-10
Request from client:ID-VirtualDev-49301-1443430754519-5-12
Request from client:ID-VirtualDev-49301-1443430754519-5-14
为什么最后一位数总是均匀的?是否还有另一个我错过的交换?
由于
答案 0 :(得分:0)
Camel使用相同的id生成器为不同的东西生成唯一的id,它只是通过改变它甚至在这种情况下。可能是生成了带有奇数的面包屑或消息ID。