我的骆驼路线如下
<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