@Override public void postCompletion(boolean committed, boolean deadlock, SharedDbEnv dbEnv) { // // Clear the current context // dbEnv.setCurrentTransaction(null); try { if (committed) { // // Remove updated & removed objects from cache // for (ToInvalidate ti : _invalidateList) { ti.invalidate(); } _invalidateList.clear(); } } finally { synchronized (this) { if (_tx != null) { if (deadlock) { _deadlockExceptionDetected = true; } _tx = null; notifyAll(); } } } }
TransactionalEvictorContext(SharedDbEnv dbEnv) { _communicator = dbEnv.getCommunicator(); _trace = _communicator.getProperties().getPropertyAsInt("Freeze.Trace.Evictor"); _tx = (TransactionI) (new ConnectionI(dbEnv).beginTransaction()); _owner = Thread.currentThread(); _tx.adoptConnection(); _tx.setPostCompletionCallback(this); }