【发布时间】:2018-02-03 06:11:31
【问题描述】:
我不确定 ActiveMQ 是否是一个合适的工具...
我有一个任务队列和多个消费者,所以我的想法是使用 ActiveMQ 发布任务,然后由消费者消费。
但我需要能够取消任务,如果它还没有处理...
是否有用于从 ActiveMQ 中的队列中删除消息的 API?
Destination destination = session.createQueue(TOPIC_NAME);
MessageProducer producer = session.createProducer(destination);
ObjectMessage message = session.createObjectMessage(jobData);
producer.send(message);
...
producer.cancel(message); (?)
用例是,出于任何原因,不再需要执行该任务,并且该任务是资源消耗。
【问题讨论】:
-
您的意思是如果消息在给定时间点未交付给任何消费者,则取消消息?
-
@SagarRohankar 确切地说,一旦交付,他们将不再排队......
-
@SagarRohankar 不,因为我只想删除一条特定消息,而保留所有其他消息。
-
再次,希望对您有所帮助:stackoverflow.com/a/11413233/4222629