pointer.setRedelivered(true);
}
else {
unconsumedMessagesDispatched.decrement();
// We may have to undo the delivery..
TransactionManager.getContexTransaction().addPostRollbackTask(new TransactionTask() {
public void execute() throws Throwable {
unconsumedMessagesDispatched.increment();
pointer.reset();
pointer.setRedelivered(true);
dispatch.wakeup(SubscriptionImpl.this);
}
});
final QueueListEntry theEntry = entry;
TransactionManager.getContexTransaction().addPostCommitTask(new TransactionTask() {
public void execute() throws Throwable {
messagePtrs.remove(theEntry);
if ((ack.isExpired() || ack.isMessageRead()) && !browser) {
if (ack.isExpired() && !pointer.getContainer().isDeadLetterQueue()) {
ActiveMQMessage msg = pointer.getContainer().getMessage(