camel 请求中的 Exchange id 以偶数结尾

Exchange id in camel request ends with even number

我在使用 Karaf 2.15.1 版的 OSGI 场景中使用 Apache Camel。我正在使用 exchange.getExchangeId() 在 request/reply 中打印交换 ID。交换模式设置为 InOnly。路线如下所示:

<route id="ip_client_rpc">
    <from uri="restlet:http://localhost:7070/lsp/patron/id?restletMethod=POST&amp;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

最后一位总是偶数有什么原因吗?是否正在创建另一个我遗漏的交易所?

谢谢

Camel 使用相同的 ID 生成器为不同的事物生成唯一的 ID,即使在这种情况下也是偶然的。可能是还生成了采用奇数的面包屑或消息 ID。