1
我的骆驼路径如下问题使用Apache的骆驼
<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方法给出了两个bean之间的路由与发送消息,我认为这个问题是骆驼当recv bean接收到消息并重新发送相同的消息(一秒钟内有几百个消息)时,重新启动 路由。理想情况下,我希望它在发送方法被激活并且创建新消息时发送消息 (即JMS队列应该有唯一的消息)。我该怎么做?
可能的解决方案之中:
- 是他们的一些属性,我可以把
<from.../>
内做到这一点? - 编写处理器来过滤发送Bean和队列之间的唯一消息。
- 是他们的路由,而无需使用
<from uri="bean:..." />
感谢 sanre6
我认为我可以一次使用Spring XMl或Java DSl。所以,如果我使用像template.sendBody(“activemq:MyQueue”,“世界!”); ....那么它意味着我必须使用Java DSl的Producertemplate吗?我如何用Spring XML来做到这一点。感谢您的回答 – sanre6 2010-10-03 11:30:02
在send()方法的Java代码中。这是您向Camel发送消息的地方,因为它在send()方法被调用时发生。 – 2010-10-03 15:05:06
参见例如:http://camel.apache.org/pojo-producing.html – 2010-10-03 15:07:14