A connection pool provides an important way of reducing this overhead by caching logical database connections in memory. A connection can be created once and then reused multiple times from the pool. This reduces the average connection overhead per user access, and thus reduces the use of server resources. Connection pooling also allows control over the number of concurrent connections to a data server product. This is very useful if the data server license agreement limits the number of users.
The database services allow an service invoker to get a connection to the database from a connection pool. These services use existing connection pool implementations, and can be easily extended if new implementations are provided. Currently, the database services work with the connection pool implementations of WebSphere(R) 4.0 connection manager and WebSphere 5.0 connection manager. To apply global transaction support and communicate with other toolkit components such as the CHA and Business Process Component, using the XA datasource is recommended.
The database services use the methods defined in the JDBCServicesConnectionManagerInterface in order to request and release connections to and from the connection pools. The JDBCServicesConnectionManagerInterface defines the following methods:
The following classes implement this interface: