void abortAll() throws IOException { Iterator myTxns = theTxns.keySet().iterator(); while (myTxns.hasNext()) { TxnId myId = (TxnId) myTxns.next(); TxnState myState = getState(myId); try { int myStatus = myState.getStatus(); if ((myStatus == TransactionConstants.PREPARED) || (myStatus == TransactionConstants.ACTIVE)) { /* * AbortAll is a naive operation in that it has no * awareness of a specific transaction thus it cannot * explicitly vote one of them off so we must do it * ourselves */ myState.vote(); myState.abort(); myTxns.remove(); } } catch (TransactionException aTE) { // Whoops, got nailed checking status, logged in the call // nothing to do. } } }