如何在Activemq中回滚消息

时间:2013-09-10 07:17:12

标签: java jms activemq

我想在变量Activemq值等于x时向1发送确认。如果它不等于1,我想重新发送消息给{{} 1}}。然后只有Activemq再次向订阅者发送消息。为此,我编写了以下程序。

MessageConsumer.java:

Activemq

这是正确的方法。你建议我,有没有有效的方法。

感谢。

1 个答案:

答案 0 :(得分:2)

理想情况下,您必须:

为您的装订地址创建 ActiveMQConnectionFactory , 创建 RedeliveryPolicy 并将其设置为 ActiveMQConnectionFactory 。 创建会话并使用 session.commit()(如果为true)和 session.rollback()(如果失败)。

这两个链接可能会对您有所帮助:

http://activemq.apache.org/message-redelivery-and-dlq-handling.html

http://activemq.apache.org/redelivery-policy.html

public class Consumer extends HttpServlet {
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
throws ServletException, IOException {
try {
...
MessageListener listener = new MessageListener() {
public void onMessage(Message msg) {
....
}
};
....
}

}