我正在创建一个包含多个消费者的主题,每个消费者都由clientId标识。我看到的行为是:
有没有办法在3次尝试后停止消费?
您可以创建一个事务处理的JMS会话:
// create JMS Session from JMS Connection
session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
并使用Session.rollback()方法指示您需要再次看到该消息:
public void onMessage(Message message)
{
msgsReceived++;
System.err.println("received: " + message);
if( msgsReceived<3 ) { // simulating an error case
session.rollback();
} else {
session.commit();
}
然后你应该看到这个消息3次,直到你最后一次提交它。