@Override public void abort(TransactionToken token) { TransactionAndImmutableTsLock txAndLock = transactions.getIfPresent(token); if (txAndLock != null) { txManager.finishRunTaskWithLockThrowOnConflict(txAndLock, (TxTask) transaction -> { transaction.abort(); return null; }); transactions.invalidate(token); } }
@Override public void abort() { delegate().abort(); }
protected final <T, E extends Exception> T runTaskThrowOnConflict(TransactionTask<T, E> task, Transaction txn) throws E, TransactionFailedException { checkOpen(); try { T ret = task.execute(txn); if (txn.isUncommitted()) { txn.commit(); } return ret; } finally { // Make sure that anyone trying to retain a reference to this transaction // will not be able to use it. if (txn.isUncommitted()) { txn.abort(); } } }
@Override public Void execute(Transaction t) { t.abort(); return null; } });
@Override public void abort(TransactionToken token) { TransactionAndImmutableTsLock txAndLock = transactions.getIfPresent(token); if (txAndLock != null) { txManager.finishRunTaskWithLockThrowOnConflict(txAndLock, (TxTask) transaction -> { transaction.abort(); return null; }); transactions.invalidate(token); } }
@Override public void abort() { delegate().abort(); }
protected final <T, E extends Exception> T runTaskThrowOnConflict(TransactionTask<T, E> task, Transaction txn) throws E, TransactionFailedException { checkOpen(); try { T ret = task.execute(txn); if (txn.isUncommitted()) { txn.commit(); } return ret; } finally { // Make sure that anyone trying to retain a reference to this transaction // will not be able to use it. if (txn.isUncommitted()) { txn.abort(); } } }