@Override public void close() { if (!closed) { try { if (!getAutoCommit()) { rollback(); } transaction.close(); database.removeSession(this); } finally { closed = true; } } }
break; case CommandInterface.ROLLBACK: session.rollback(); break; case CommandInterface.SAVEPOINT:
session.rollbackToSavepoint(savepoint); } else { session.rollback();
/** * Close the database. */ public synchronized void close() { if (closing) { return; } if (userSessions.size() > 0) { Session[] all = new Session[userSessions.size()]; userSessions.toArray(all); for (Session s : all) { try { s.rollback(); s.close(); } catch (DbException e) { trace.error(e, "disconnecting session #{0}", s.getId()); } } } repository.close(); if (queryExecutor != null) { Threads.shutdownGracefully(queryExecutor, 1000, 1000, TimeUnit.MILLISECONDS); } closing = true; }