@Override public void prepare(TransactionId txid) throws IOException { Tx tx = getTx(txid); for (TransactionStore store : tx.getStores()) { store.prepare(txid); } }
@Override public void recover(XATransactionId xid, Message[] addedMessages, MessageAck[] acks) { try { getTx(xid).trackStore(adapter.createTransactionStore(), xid); } catch (IOException e) { LOG.error("Failed to access transaction store: " + adapter + " for prepared xa tid: " + xid, e); } listener.recover(xid, addedMessages, acks); } });
final void removeMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final MessageAck ack) throws IOException { if (ack.getTransactionId() != null) { getTx(ack.getTransactionId()).trackStore(transactionStore); } destination.removeMessage(context, ack); }
final void removeAsyncMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final MessageAck ack) throws IOException { if (ack.getTransactionId() != null) { getTx(ack.getTransactionId()).trackStore(transactionStore); } destination.removeAsyncMessage(context, ack); }
void addMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final Message message) throws IOException { if (message.getTransactionId() != null) { getTx(message.getTransactionId()).trackStore(transactionStore); } destination.addMessage(context, message); }
final void acknowledge(final TransactionStore transactionStore, ConnectionContext context, final TopicMessageStore destination, final String clientId, final String subscriptionName, final MessageId messageId, final MessageAck ack) throws IOException { if (ack.getTransactionId() != null) { getTx(ack.getTransactionId()).trackStore(transactionStore); } destination.acknowledge(context, clientId, subscriptionName, messageId, ack); }
ListenableFuture<Object> asyncAddTopicMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final Message message) throws IOException { if (message.getTransactionId() != null) { getTx(message.getTransactionId()).trackStore(transactionStore); destination.addMessage(context, message); return AbstractMessageStore.FUTURE; } else { return destination.asyncAddTopicMessage(context, message); } }
ListenableFuture<Object> asyncAddQueueMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final Message message) throws IOException { if (message.getTransactionId() != null) { getTx(message.getTransactionId()).trackStore(transactionStore); destination.addMessage(context, message); return AbstractMessageStore.FUTURE; } else { return destination.asyncAddQueueMessage(context, message); } }
public void process(JournalCommand<?> command) throws IOException { switch (command.type()) { case KAHA_PREPARE_COMMAND: KahaPrepareCommand prepareCommand = (KahaPrepareCommand) command; getTx(TransactionIdConversion.convert(prepareCommand.getTransactionInfo())); break; case KAHA_COMMIT_COMMAND: KahaCommitCommand commitCommand = (KahaCommitCommand) command; removeTx(TransactionIdConversion.convert(commitCommand.getTransactionInfo())); break; case KAHA_TRACE_COMMAND: break; default: throw new IOException("Unexpected command in transaction journal: " + command); } }
Tx tx = getTx(txid); if (wasPrepared) { for (Map.Entry<TransactionStore, TransactionId> storeTx : tx.getStoresMap().entrySet()) {
@Override public void recover(XATransactionId xid, Message[] addedMessages, MessageAck[] acks) { try { getTx(xid).trackStore(adapter.createTransactionStore()); } catch (IOException e) { LOG.error("Failed to access transaction store: " + adapter + " for prepared xa tid: " + xid, e); } listener.recover(xid, addedMessages, acks); } });
@Override public void recover(XATransactionId xid, Message[] addedMessages, MessageAck[] acks) { try { getTx(xid).trackStore(adapter.createTransactionStore()); } catch (IOException e) { LOG.error("Failed to access transaction store: " + adapter + " for prepared xa tid: " + xid, e); } listener.recover(xid, addedMessages, acks); } });
final void removeMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final MessageAck ack) throws IOException { if (ack.getTransactionId() != null) { getTx(ack.getTransactionId()).trackStore(transactionStore); } destination.removeMessage(context, ack); }
final void removeAsyncMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final MessageAck ack) throws IOException { if (ack.getTransactionId() != null) { getTx(ack.getTransactionId()).trackStore(transactionStore); } destination.removeAsyncMessage(context, ack); }
final void removeMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final MessageAck ack) throws IOException { if (ack.getTransactionId() != null) { getTx(ack.getTransactionId()).trackStore(transactionStore); } destination.removeMessage(context, ack); }
void addMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final Message message) throws IOException { if (message.getTransactionId() != null) { getTx(message.getTransactionId()).trackStore(transactionStore); } destination.addMessage(context, message); }
ListenableFuture<Object> asyncAddTopicMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final Message message) throws IOException { if (message.getTransactionId() != null) { getTx(message.getTransactionId()).trackStore(transactionStore); destination.addMessage(context, message); return AbstractMessageStore.FUTURE; } else { return destination.asyncAddTopicMessage(context, message); } }
ListenableFuture<Object> asyncAddQueueMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final Message message) throws IOException { if (message.getTransactionId() != null) { getTx(message.getTransactionId()).trackStore(transactionStore); destination.addMessage(context, message); return AbstractMessageStore.FUTURE; } else { return destination.asyncAddQueueMessage(context, message); } }
ListenableFuture<Object> asyncAddTopicMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final Message message) throws IOException { if (message.getTransactionId() != null) { getTx(message.getTransactionId()).trackStore(transactionStore); destination.addMessage(context, message); return AbstractMessageStore.FUTURE; } else { return destination.asyncAddTopicMessage(context, message); } }
ListenableFuture<Object> asyncAddTopicMessage(final TransactionStore transactionStore, ConnectionContext context, final MessageStore destination, final Message message) throws IOException { if (message.getTransactionId() != null) { getTx(message.getTransactionId()).trackStore(transactionStore); destination.addMessage(context, message); return AbstractMessageStore.FUTURE; } else { return destination.asyncAddTopicMessage(context, message); } }