Class LocalDatabaseImpl

    • Constructor Detail

      • LocalDatabaseImpl

        public LocalDatabaseImpl​(java.lang.String dbName,
                                 int lockTimeout,
                                 CallbackInterceptor callback,
                                 InstanceFactory instanceFactory,
                                 java.lang.ClassLoader classLoader,
                                 boolean autoStore)
                          throws DatabaseNotFoundException
        Creates an instance of this class.
        Parameters:
        dbName - database name
        lockTimeout - Lock timeout
        callback - CallbackInterceptor instance
        instanceFactory - Instance factory.
        classLoader - Current class loader
        autoStore - Indicates whether to use 'auto-storing'
        Throws:
        DatabaseNotFoundException - If the specified database configuration cannot be found.
    • Method Detail

      • close

        public void close()
                   throws PersistenceException
        Description copied from class: AbstractDatabaseImpl
        Closes the database. If a client transaction is in progress the transaction will be rolled back and an exception thrown. If an app-server transaction is in progress, the transaction will commit/rollback when triggered by the application server.
        Specified by:
        close in interface Database
        Specified by:
        close in class AbstractDatabaseImpl
        Throws:
        PersistenceException - An error occured while attempting to close the database
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        Overrides Object.finalize(). Outputs a warning message to the logs if the current DatabaseImpl instance still has valid scope. In this condition - a condition that ideally should not occur at all - we close the instance as well to free up resources.
        Overrides:
        finalize in class java.lang.Object
        Throws:
        java.lang.Throwable
        See Also:
        Object.finalize()
      • commit

        public void commit()
                    throws TransactionNotInProgressException,
                           TransactionAbortedException
        Description copied from class: AbstractDatabaseImpl
        Commits and closes the transaction. All changes made to persistent objects during the transaction are made persistent; objects created during the transaction are made durable; and, objects removed during the transaction are removed from the database.

        In other words, any modifications to any data objects which are queried/loaded/created/update to this database is automatically stored to the database and visible to subsequence transactions. (ie. update is solely used for long transaction support and should not be called for any data object queried/loaded/created in the this transaction.)

        If the transaction cannot commit, the entire transaction rolls back and a TransactionAbortedException exception is thrown.

        After this method returns, the transaction is closed and all persistent objects are transient. Using Database.begin() to open a new transaction will not restore objects to their persistent stage.

        Specified by:
        commit in interface Database
        Specified by:
        commit in class AbstractDatabaseImpl
        Throws:
        TransactionNotInProgressException - Method called while transaction is not in progress
        TransactionAbortedException - The transaction cannot commit and has been rolled back