@Override public void rollback(TransactionId txid) throws IOException { Tx tx = removeTx(txid); if (tx != null) { for (Map.Entry<TransactionStore, TransactionId> storeTx : tx.getStoresMap().entrySet()) { TransactionId recovered = storeTx.getValue(); if (recovered != null) { storeTx.getKey().rollback(recovered); } else { storeTx.getKey().rollback(txid); } } } }
@Override public void rollback() throws XAException, IOException { if (LOG.isDebugEnabled()) { LOG.debug("rollback: " + xid + " syncCount: " + size()); } setState(Transaction.FINISHED_STATE); context.getTransactions().remove(xid); transactionStore.rollback(getTransactionId()); try { fireAfterRollback(); } catch (Throwable e) { LOG.warn("POST ROLLBACK FAILED: ", e); XAException xae = new XAException("POST ROLLBACK FAILED"); xae.errorCode = XAException.XAER_RMERR; xae.initCause(e); throw xae; } }
@Override public void rollback(TransactionId txid) throws IOException { Tx tx = removeTx(txid); if (tx != null) { for (TransactionStore store : tx.getStores()) { store.rollback(txid); } } }
@Override public void rollback(TransactionId txid) throws IOException { Tx tx = removeTx(txid); if (tx != null) { for (TransactionStore store : tx.getStores()) { store.rollback(txid); } } }
@Override public void rollback(TransactionId txid) throws IOException { Tx tx = removeTx(txid); if (tx != null) { for (TransactionStore store : tx.getStores()) { store.rollback(txid); } } }
@Override public void rollback() throws XAException, IOException { if (LOG.isDebugEnabled()) { LOG.debug("rollback: " + xid + " syncCount: " + size()); } setState(Transaction.FINISHED_STATE); context.getTransactions().remove(xid); transactionStore.rollback(getTransactionId()); try { fireAfterRollback(); } catch (Throwable e) { LOG.warn("POST ROLLBACK FAILED: ", e); XAException xae = new XAException("POST ROLLBACK FAILED"); xae.errorCode = XAException.XAER_RMERR; xae.initCause(e); throw xae; } }
@Override public void rollback() throws XAException, IOException { if (LOG.isDebugEnabled()) { LOG.debug("rollback: " + xid + " syncCount: " + size()); } setState(Transaction.FINISHED_STATE); context.getTransactions().remove(xid); transactionStore.rollback(getTransactionId()); try { fireAfterRollback(); } catch (Throwable e) { LOG.warn("POST ROLLBACK FAILED: ", e); XAException xae = new XAException("POST ROLLBACK FAILED"); xae.errorCode = XAException.XAER_RMERR; xae.initCause(e); throw xae; } }
@Override public void rollback() throws XAException, IOException { if (LOG.isDebugEnabled()) { LOG.debug("rollback: " + xid + " syncCount: " + size()); } setState(Transaction.FINISHED_STATE); context.getTransactions().remove(xid); transactionStore.rollback(getTransactionId()); try { fireAfterRollback(); } catch (Throwable e) { LOG.warn("POST ROLLBACK FAILED: ", e); XAException xae = new XAException("POST ROLLBACK FAILED"); xae.errorCode = XAException.XAER_RMERR; xae.initCause(e); throw xae; } }
@Override public void rollback() throws XAException, IOException { if (LOG.isDebugEnabled()) { LOG.debug("rollback: " + xid + " syncCount: " + size()); } setState(Transaction.FINISHED_STATE); context.getTransactions().remove(xid); // Sync on transaction store to avoid out of order messages in the cursor // https://issues.apache.org/activemq/browse/AMQ-2594 synchronized (transactionStore) { transactionStore.rollback(getTransactionId()); try { fireAfterRollback(); } catch (Throwable e) { LOG.warn("POST ROLLBACK FAILED: ", e); XAException xae = new XAException("POST ROLLBACK FAILED"); xae.errorCode = XAException.XAER_RMERR; xae.initCause(e); throw xae; } } }