public boolean replay(AMQPersistenceAdapter adapter, ConnectionContext context) throws IOException { boolean result = false; AMQMessageStore store = (AMQMessageStore)adapter.createMessageStore(destination); if (operationType == ADD_OPERATION_TYPE) { result = store.replayAddMessage(context, (Message)data, location); } else if (operationType == REMOVE_OPERATION_TYPE) { result = store.replayRemoveMessage(context, (MessageAck)data); } else { JournalTopicAck ack = (JournalTopicAck)data; result = ((AMQTopicMessageStore)store).replayAcknowledge(context, ack.getClientId(), ack .getSubscritionName(), ack.getMessageId()); } return result; }
if (c instanceof Message) { Message message = (Message)c; AMQMessageStore store = (AMQMessageStore)createMessageStore(message.getDestination()); if (message.isInTransaction()) { transactionStore.addMessage(store, message, pos); case JournalQueueAck.DATA_STRUCTURE_TYPE: { JournalQueueAck command = (JournalQueueAck)c; AMQMessageStore store = (AMQMessageStore)createMessageStore(command.getDestination()); if (command.getMessageAck().isInTransaction()) { transactionStore.removeMessage(store, command.getMessageAck(), pos); case JournalTopicAck.DATA_STRUCTURE_TYPE: { JournalTopicAck command = (JournalTopicAck)c; AMQTopicMessageStore store = (AMQTopicMessageStore)createMessageStore(command.getDestination()); if (command.getTransactionId() != null) { transactionStore.acknowledge(store, command, pos);