我正在创建一个包含多个使用者的主题,每个使用者都由一个clientId标识。 我看到的行为是:
例如,尝试3次后是否有停止消耗的方法?
答案 0 :(得分:2)
您可以创建一个事务处理的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次,直到您上次提交为止。