Package nxt.db

Class TransactionalDb

java.lang.Object
nxt.db.BasicDb
nxt.db.TransactionalDb

public class TransactionalDb extends BasicDb
  • Constructor Details

  • Method Details

    • callInDbTransaction

      public <V> V callInDbTransaction(Callable<V> callable)
    • runInDbTransaction

      public void runInDbTransaction(Runnable runnable)
    • getConnection

      public Connection getConnection(String schema) throws SQLException
      Overrides:
      getConnection in class BasicDb
      Throws:
      SQLException
    • isInTransaction

      public boolean isInTransaction()
    • beginTransaction

      public Connection beginTransaction()
    • beginTransaction

      public Connection beginTransaction(String schema)
    • commitTransaction

      public void commitTransaction()
    • rollbackTransaction

      public void rollbackTransaction()
    • endTransaction

      public void endTransaction()
    • registerCallback

      public void registerCallback(TransactionalDb.TransactionCallback callback)
    • setThreadQueryTimeout

      public void setThreadQueryTimeout(int seconds)

      Sets the timeout which will be used in Statement.executeQuery(String) and Statement.executeQuery(String) calls, done by this thread (for the current database).

      Due to an issue in H2 implementation, Statement.setQueryTimeout(int) affects all statements in the connection - see https://github.com/h2database/h2database/issues/243. So always reset to 0 after executing the queries that must be limited

      Parameters:
      seconds - the new query timeout limit in seconds for the current thread; zero means there is no limit
    • clearCache

      public void clearCache()