我不知道如果ActiveMQ是一個合適的工具在這裏...取消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準確地說,一旦交付,他們不會再排隊了...... –
這將有助於:http://activemq.apache.org/how-do-i-purge-a-queue.html –