Network Deployment (Distributed operating systems), v8.0 > Reference > Developer best practices
Connection and connection pool statistics
WAS supports use of PMI APIs to monitor the performance of data access applications.
Performance Monitoring Infrastructure (PMI) method calls that are supported in the two existing Connection Managers (JDBC and J2C) are supported in this version of WAS. The calls include:
- Average number of ManagedConnections in the pool
- Percentage of the time that the connection pool is using the maximum number of ManagedConnections
- Average number of threads waiting for a ManagedConnection
- Average percent of the pool that is in use
- Average time spent waiting on a request
- Number of ManagedConnections that are in use
- Number of Connection Handles
Java Specification Request (JSR) 77 requires statistical data to be accessed through managed beans (Mbeans) to facilitate this. The Connection Manager passes the ObjectNames of the Mbeans created for this pool. In the case of Java Message Service (JMS) null is passed in. The interface used is:PmiFactory.createJ2CPerf( String pmiName, // a unique Identifier for JCA /JDBC. This is the // ConnectionFactory name. ObjectName providerName,// the ObjectName of the J2CResourceAdapter // or JDBCProvider Mbean ObjectName factoryName // the ObjectName of the J2CConnectionFactory // or DataSourceMbean. )
The following Unified Modeling Language (UML) diagram shows how JSR 77 requires statistics to be reported:
JCAConnectionPoolStats and JDBCConnectionPoolStats objects do not have a direct implementing Mbean; the statistics are gathered through a call to PMI. A J2C resource adapter, and JDBC provider each contain a list of ConnectionFactory or DataSource ObjectNames, respectively. The ObjectNames are used by PMI to find the appropriate connection pool in the list of PMI modules.
The JCA 1.5 Specification allows an exception from the matchManagedConnection() method that indicates that the resource adapter requests that the connection not be pooled. In that case, statistics for that connection are provided separately from the statistics for the connection pool.