【发布时间】:2025-12-10 02:00:01
【问题描述】:
下面是我的骆驼路线
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring" >
<route>
<from uri="bean:SendClass?method=send" />
<to uri="jms:MyQueue" pattern="InOnly" />
</route>
<route>
<from uri="jms:MyQueue" />
<to uri="bean:recvClass?method=recv" />
</route>
</camelContext>
send 方法在由第 3 方 Pojo 以不规则的时间间隔激活时发送消息。但是,我认为问题是骆驼正在重新启动 一旦recv bean接收到消息并重新发送相同的消息(一秒钟内有数百条消息)的路由。理想情况下,我希望它 当发送方法被激活并创建新消息时发送消息(即 JMS 队列应该有唯一的消息)。我该怎么做?
可能的解决方案是:
- 是他们的某些属性,我可以将其放在
<from.../>中来执行此操作吗? - 编写一个处理器来过滤发送 bean 和队列之间的唯一消息。
- 是他们在不使用
<from uri="bean:..." />的情况下进行路由的其他方式吗?
谢谢 sanre6
【问题讨论】:
标签: apache-camel