if( op.operationType == TxOperation.REMOVE_OPERATION_TYPE) {
op.store.replayRemoveMessage((MessageAck) op.data);
}
if( op.operationType == TxOperation.ACK_OPERATION_TYPE) {
JournalAck ack = (JournalAck) op.data;
((JournalTopicMessageStore)op.store).replayAcknowledge(ack.getSubscription(), new MessageIdentity(ack.getMessageId()));
}
}
transactionCounter++;
}
break;
case TxCommand.LOCAL_ROLLBACK:
case TxCommand.XA_ROLLBACK:
transactionStore.replayRollback(command.getTransactionId());
break;
}
break;
case ACK_RECORD_TYPE:
destination = is.readUTF();
String subscription = is.readUTF();
String messageId = is.readUTF();
Object transactionId=null;
JournalTopicMessageStore store = (JournalTopicMessageStore) createMessageStore(destination, false);
if( transactionId!=null ) {
JournalAck ack = new JournalAck(destination, subscription, messageId, transactionId);
transactionStore.acknowledge(store, ack, pos);
} else {
store.replayAcknowledge(subscription, new MessageIdentity(messageId));
transactionCounter++;
}
case COMMAND_RECORD_TYPE: