@Override public synchronized void recover(TransactionRecoveryListener listener) throws IOException { // All the inflight transactions get rolled back.. inflightTransactions.clear(); this.doingRecover = true; try { for (Iterator<TransactionId> iter = preparedTransactions.keySet().iterator(); iter.hasNext();) { Object txid = iter.next(); Tx tx = preparedTransactions.get(txid); listener.recover((XATransactionId) txid, tx.getMessages(), tx.getAcks()); onRecovered(tx); } } finally { this.doingRecover = false; } }
@Override public synchronized void recover(TransactionRecoveryListener listener) throws IOException { // All the inflight transactions get rolled back.. inflightTransactions.clear(); this.doingRecover = true; try { for (Iterator<TransactionId> iter = preparedTransactions.keySet().iterator(); iter.hasNext();) { Object txid = iter.next(); Tx tx = preparedTransactions.get(txid); listener.recover((XATransactionId) txid, tx.getMessages(), tx.getAcks()); onRecovered(tx); } } finally { this.doingRecover = false; } }
@Override public synchronized void recover(TransactionRecoveryListener listener) throws IOException { // All the inflight transactions get rolled back.. inflightTransactions.clear(); this.doingRecover = true; try { for (Iterator<TransactionId> iter = preparedTransactions.keySet().iterator(); iter.hasNext();) { Object txid = iter.next(); Tx tx = preparedTransactions.get(txid); listener.recover((XATransactionId) txid, tx.getMessages(), tx.getAcks()); onRecovered(tx); } } finally { this.doingRecover = false; } }
@Override public synchronized void recover(TransactionRecoveryListener listener) throws IOException { // All the inflight transactions get rolled back.. inflightTransactions.clear(); this.doingRecover = true; try { for (Iterator<TransactionId> iter = preparedTransactions.keySet().iterator(); iter.hasNext();) { Object txid = iter.next(); Tx tx = preparedTransactions.get(txid); listener.recover((XATransactionId) txid, tx.getMessages(), tx.getAcks()); onRecovered(tx); } } finally { this.doingRecover = false; } }