Package org.h2.api

Interface DatabaseEventListener

  • All Superinterfaces:
    java.util.EventListener

    public interface DatabaseEventListener
    extends java.util.EventListener
    A class that implements this interface can get notified about exceptions and other events. A database event listener can be registered when connecting to a database. Example database URL: jdbc:h2:./test;DATABASE_EVENT_LISTENER='com.acme.DbListener'
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int STATE_BACKUP_FILE
      This state is used during the BACKUP command.
      static int STATE_CREATE_INDEX
      This state is used when re-creating an index.
      static int STATE_RECONNECTED
      This state is used after re-connecting to a database (if auto-reconnect is enabled).
      static int STATE_RECOVER
      This state is used when re-applying the transaction log or rolling back uncommitted transactions.
      static int STATE_SCAN_FILE
      This state is used when scanning the database file.
      static int STATE_STATEMENT_END
      This state is used when a query ends.
      static int STATE_STATEMENT_PROGRESS
      This state is used for periodic notification during long-running queries.
      static int STATE_STATEMENT_START
      This state is used when a query starts.
    • Method Summary

      All Methods Instance Methods Default Methods 
      Modifier and Type Method Description
      default void closingDatabase()
      This method is called before the database is closed normally.
      default void exceptionThrown​(java.sql.SQLException e, java.lang.String sql)
      This method is called if an exception occurred.
      default void init​(java.lang.String url)
      This method is called just after creating the object.
      default void opened()
      This method is called after the database has been opened.
      default void setProgress​(int state, java.lang.String name, long x, long max)
      This method is called for long running events, such as recovering, scanning a file or building an index.
    • Field Detail

      • STATE_SCAN_FILE

        static final int STATE_SCAN_FILE
        This state is used when scanning the database file.
        See Also:
        Constant Field Values
      • STATE_CREATE_INDEX

        static final int STATE_CREATE_INDEX
        This state is used when re-creating an index.
        See Also:
        Constant Field Values
      • STATE_RECOVER

        static final int STATE_RECOVER
        This state is used when re-applying the transaction log or rolling back uncommitted transactions.
        See Also:
        Constant Field Values
      • STATE_BACKUP_FILE

        static final int STATE_BACKUP_FILE
        This state is used during the BACKUP command.
        See Also:
        Constant Field Values
      • STATE_RECONNECTED

        static final int STATE_RECONNECTED
        This state is used after re-connecting to a database (if auto-reconnect is enabled).
        See Also:
        Constant Field Values
      • STATE_STATEMENT_START

        static final int STATE_STATEMENT_START
        This state is used when a query starts.
        See Also:
        Constant Field Values
      • STATE_STATEMENT_END

        static final int STATE_STATEMENT_END
        This state is used when a query ends.
        See Also:
        Constant Field Values
      • STATE_STATEMENT_PROGRESS

        static final int STATE_STATEMENT_PROGRESS
        This state is used for periodic notification during long-running queries.
        See Also:
        Constant Field Values
    • Method Detail

      • init

        default void init​(java.lang.String url)
        This method is called just after creating the object. This is done when opening the database if the listener is specified in the database URL, but may be later if the listener is set at runtime with the SET SQL statement.
        Parameters:
        url - - the database URL
      • opened

        default void opened()
        This method is called after the database has been opened. It is safe to connect to the database and execute statements at this point.
      • exceptionThrown

        default void exceptionThrown​(java.sql.SQLException e,
                                     java.lang.String sql)
        This method is called if an exception occurred.
        Parameters:
        e - the exception
        sql - the SQL statement
      • setProgress

        default void setProgress​(int state,
                                 java.lang.String name,
                                 long x,
                                 long max)
        This method is called for long running events, such as recovering, scanning a file or building an index.

        More states might be added in future versions, therefore implementations should silently ignore states that they don't understand.

        Parameters:
        state - the state
        name - the object name
        x - the current position
        max - the highest possible value or 0 if unknown
      • closingDatabase

        default void closingDatabase()
        This method is called before the database is closed normally. It is safe to connect to the database and execute statements at this point, however the connection must be closed before the method returns.