Module org.hsqldb

Class JDBCPooledConnection

  • All Implemented Interfaces:
    javax.sql.PooledConnection, JDBCConnectionEventListener
    Direct Known Subclasses:
    JDBCXAConnection

    public class JDBCPooledConnection
    extends java.lang.Object
    implements javax.sql.PooledConnection, JDBCConnectionEventListener
    An implementations of PooledConnection for use by connection pooling software.

    The class maintains a lifetime connection to the database. The getConnection() method establishes a lease on the lifetime connection and returns a special JDBCConnection (userConnection) that is valid until it is closed.

    This class uses a dedicated HyperSQL method to guarantee each lease on the connection starts with the original state of the connection.

    The ConnectionEventLister objects that have been registered with this PooledConnection are notified when each lease expires, or an unrecoverable error occurs on the connection to the database.

    Since:
    JDK 1.2, HSQLDB 2.0
    Author:
    Fred Toussi (fredt@users dot sourceforge.net)
    • Constructor Detail

      • JDBCPooledConnection

        public JDBCPooledConnection​(JDBCConnection connection)
    • Method Detail

      • getConnection

        public java.sql.Connection getConnection()
                                          throws java.sql.SQLException
        Specified by:
        getConnection in interface javax.sql.PooledConnection
        Throws:
        java.sql.SQLException
      • close

        public void close()
                   throws java.sql.SQLException
        Specified by:
        close in interface javax.sql.PooledConnection
        Throws:
        java.sql.SQLException
      • addConnectionEventListener

        public void addConnectionEventListener​(javax.sql.ConnectionEventListener listener)
        Specified by:
        addConnectionEventListener in interface javax.sql.PooledConnection
      • removeConnectionEventListener

        public void removeConnectionEventListener​(javax.sql.ConnectionEventListener listener)
        Specified by:
        removeConnectionEventListener in interface javax.sql.PooledConnection
      • addStatementEventListener

        public void addStatementEventListener​(javax.sql.StatementEventListener listener)
        Specified by:
        addStatementEventListener in interface javax.sql.PooledConnection
      • removeStatementEventListener

        public void removeStatementEventListener​(javax.sql.StatementEventListener listener)
        Specified by:
        removeStatementEventListener in interface javax.sql.PooledConnection
      • isInUse

        public boolean isInUse()
        Returns true if getConnection() has been called and a leas has been given.
        Returns:
        boolean
      • reset

        public void reset()
        Force close the userConnection, no close event is fired.
      • release

        public void release()
        Force close the userConnection, and connection, no close event is fired.