【发布时间】:2014-04-12 19:49:17
【问题描述】:
我试图了解消息在处理过程中过期时的行为。我的测试程序中有以下流程设置。
queue.start -> sleepProcessor -> queue.end
sleepProcessor 从 queue.start 获取消息并休眠 5 秒。我从 System.currentTimeMillis() 向 queue.start 发送一条消息,JMSExpiration 为 1 秒。我为每个名为 DLQ.queue.start 和 DLQ.queue.end 的队列设置了死信队列。
我看到的行为是 1 条消息在 DLQ.queue.start 中结束,而另一条消息在 DLQ.queue.end 中结束。 1 条消息如何变成 2 条消息?
测试程序可以在这里找到源码
http://s000.tinyupload.com/?file_id=04225732819763428273
我已经包含了一个maven pom.xml,可以使用以下命令运行测试程序
mvn骆驼:运行
操作系统:Linux 3.5.0(Mint 14)
JVM:1.6
ActiveMQ:5.7.0
骆驼:2.8.2
任何见解将不胜感激。 谢谢
【问题讨论】:
标签: jms apache-camel activemq