public void close() { if (!closed) { statementBuilder.close(getConnection()); try { connection.close(); } catch (SQLException e) { throw new UnableToCloseResourceException("Unable to close Connection", e); } finally { log.logReleaseHandle(this); closed = true; } } }
/** * Rollback a transaction to a named checkpoint * * @param checkpointName the name of the checkpoint, previously declared with {@see * Handle#checkpoint} */ public Handle rollback(String checkpointName) { final long start = System.nanoTime(); transactions.rollback(this, checkpointName); log.logRollbackToCheckpoint((System.nanoTime() - start) / 1000000L, this, checkpointName); return this; }
/** * Release the named checkpoint, making rollback to it not possible. * * @return The same handle */ public Handle release(String checkpointName) { transactions.release(this, checkpointName); log.logReleaseCheckpointTransaction(this, checkpointName); return this; }
/** * Create a transaction checkpoint (savepoint in JDBC terminology) with the name provided. * * @param name The name of the checkpoint * @return The same handle */ public Handle checkpoint(String name) { transactions.checkpoint(this, name); log.logCheckpointTransaction(this, name); return this; }
/** Rollback a transaction */ public Handle rollback() { final long start = System.nanoTime(); transactions.rollback(this); log.logRollbackTransaction((System.nanoTime() - start) / 1000000L, this); return this; }
/** Commit a transaction */ public Handle commit() { final long start = System.nanoTime(); transactions.commit(this); log.logCommitTransaction((System.nanoTime() - start) / 1000000L, this); return this; }
/** Start a transaction */ public Handle begin() { transactions.begin(this); log.logBeginTransaction(this); return this; }