com.ibm.as400.access
Class AS400JDBCConnectionPool
- java.lang.Object
-
- com.ibm.as400.access.ConnectionPool
-
- com.ibm.as400.access.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 Summary
Constructors Constructor and Description AS400JDBCConnectionPool()
Constructs a default AS400JDBCConnectionPool object.AS400JDBCConnectionPool(AS400JDBCConnectionPoolDataSource dataSource)
Constructs an AS400JDBCConnectionPool object with the specified dataSource.
-
Method Summary
Methods Modifier and Type Method and Description void
close()
Closes all the database connections in the pool.void
fill(int numberOfConnections)
Fills the connection pool with the specified number of database connections.protected void
finalize()
Closes the connection pool if not explicitly closed by the caller.int
getActiveConnectionCount()
Returns the number of active connections the pool has created.int
getAvailableConnectionCount()
Returns the number of available PooledConnections in the pool.java.sql.Connection
getConnection()
Returns a connection from the pool.AS400JDBCConnectionPoolDataSource
getDataSource()
Returns the data source used to make connections.boolean
isClosed()
Indicates whether the connection pool is closed.void
setDataSource(AS400JDBCConnectionPoolDataSource dataSource)
Sets the data source used to make connections.-
Methods inherited from class com.ibm.as400.access.ConnectionPool
addConnectionPoolListener, addPropertyChangeListener, getCleanupInterval, getMaxConnections, getMaxInactivity, getMaxLifetime, getMaxUseCount, getMaxUseTime, isPretestConnections, isRunMaintenance, isThreadUsed, removeConnectionPoolListener, removePropertyChangeListener, setCleanupInterval, setMaxConnections, setMaxInactivity, setMaxLifetime, setMaxUseCount, setMaxUseTime, setPretestConnections, setRunMaintenance, setThreadUsed
-
-
-
-
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 classConnectionPool
-
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 classConnectionPool
- 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.
-
-