com.ibm.as400.access

Class AS400JDBCConnectionPool

  • All Implemented Interfaces:
    java.io.Serializable


    public class AS400JDBCConnectionPool
    extends ConnectionPool
    implements java.io.Serializable
    Represents a pool of JDBC connections that are available for use by a Java program.

    Note: AS400JDBCConnectionPool objects are threadsafe.

    The following example creates a connection pool with 10 connections.

      // Obtain an AS400JDBCConnectionPoolDataSource object from JNDI.
      Context context = new InitialContext(environment);
      AS400JDBCConnectionPoolDataSource datasource = (AS400JDBCConnectionPoolDataSource)context.lookup("jdbc/myDatabase");
    
      // Create an AS400JDBCConnectionPool object.
      AS400JDBCConnectionPool pool = new AS400JDBCConnectionPool(datasource);
    
      // Adds 10 connections to the pool that can be used by the application (creates the physical database connections based on the data source).
      pool.fill(10);
    
      // Get a handle to a database connection from the pool.
      Connection connection = pool.getConnection();
    
      ... Perform miscellenous queries/updates on the database.
    
      // Close the connection handle to return it to the pool.
      connection.close();  
    
      ... Application works with some more connections from the pool.
    
      // Close the pool to release all resources.
      pool.close();
      
    See Also:
    Serialized Form
    • Constructor Detail

      • AS400JDBCConnectionPool

        public AS400JDBCConnectionPool()
        Constructs a default AS400JDBCConnectionPool object.
      • AS400JDBCConnectionPool

        public AS400JDBCConnectionPool(AS400JDBCConnectionPoolDataSource dataSource)
        Constructs an AS400JDBCConnectionPool object with the specified dataSource.
        Parameters:
        dataSource - The AS400JDBCConnectionPoolDataSource object.
    • Method Detail

      • close

        public void close()
        Closes all the database connections in the pool.
        Specified by:
        close in class ConnectionPool
      • fill

        public void fill(int numberOfConnections)
                  throws ConnectionPoolException
        Fills the connection pool with the specified number of database connections.
        Parameters:
        numberOfConnections - The number of connections to add to the pool.
        Throws:
        ConnectionPoolException - If a database error occurs creating a connection for the pool, or the maximum number of connections has been reached for the pool.
        ExtendedIllegalArgumentException - if the number of connections to fill the pool with is less than one.
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        Closes the connection pool if not explicitly closed by the caller.
        Overrides:
        finalize in class ConnectionPool
        Throws:
        java.lang.Throwable - If an error occurs.
      • getActiveConnectionCount

        public int getActiveConnectionCount()
        Returns the number of active connections the pool has created.
        Returns:
        The number of active connections.
      • getAvailableConnectionCount

        public int getAvailableConnectionCount()
        Returns the number of available PooledConnections in the pool.
        Returns:
        The number of available PooledConnections.
      • getConnection

        public java.sql.Connection getConnection()
                                          throws ConnectionPoolException
        Returns a connection from the pool. Updates the pool cache.
        Returns:
        The connection.
        Throws:
        ConnectionPoolException - If a database error occurs getting the connection.
      • getDataSource

        public AS400JDBCConnectionPoolDataSource getDataSource()
        Returns the data source used to make connections.
        Returns:
        The AS400JDBCConnectionPoolDataSource object.
      • isClosed

        public boolean isClosed()
        Indicates whether the connection pool is closed.
        Returns:
        true if closed; false otherwise.
      • setDataSource

        public void setDataSource(AS400JDBCConnectionPoolDataSource dataSource)
                           throws java.beans.PropertyVetoException
        Sets the data source used to make connections.
        Parameters:
        dataSource - The AS400JDBCConnectionPoolDataSource object.
        Throws:
        java.beans.PropertyVetoException - If a change is vetoed.