【发布时间】:2012-01-15 16:25:04
【问题描述】:
我有一个实现 Camel 和 ActiveMQ 的系统,用于在一些服务器之间进行通信。我想知道是否有办法在 X 段时间后自动过期并清除发送到队列的消息。由于原始服务器(填充队列)不知道是否有人在接收消息,所以我不希望我的队列增长到太大以至于崩溃。 Bonus karma 指向可以提供帮助并提供 java dsl 方式来实现此功能的人。
解决方案
// expire message after 2 minutes
long ttl = System.currentTimeMillis() + 120000;
// send our info one-way to the group topic
camelTemplate.sendBodyAndHeader("jms:queue:stats", ExchangePattern.InOnly, stats, "JMSExpiration", ttl);
【问题讨论】:
标签: java activemq apache-camel