active mq 的使用过程中有这么一个需求,事件event publish 进mq,但未被消费的时候,需要将这条消息取消掉。查询了很多资料,基本都是用到***AMQ_SCHEDULER_ACTION_REMOVEALL***
代码如下:
/*移除所有的(指定时间段的)消息*/
@Autowired
JmsTemplate jmsTemplate;
private static void removeAllSchedulerMsg(){
ConnectionFactory factory= jmsTemplate.getConnectionFactory();
Connection conn = factory.createConnection();
conn.start();
Session session = conn.createSession(false,Session.AUTO_ACKNOWLEDGE);
Destination dest = session.createTopic(ScheduledMessage.AMQ_SCHEDULER_MANAGEMENT_DESTINATION);
MessageProducer producer = session.createProducer(dest);
Message request = session.createMessage();
request.setStringProperty(ScheduledMessage