JDBC in GlassFish V3
By shalini_m on Dec 16, 2009
Flush Connection Pool
To reinitialize aged/old connections in a connection pool. There is no need to reconfigure the pool to kill/destroy live connections.
The existing Ping button in admin console and asadmin ping-connection-pool reveal the unsupported values of configured attributes of a connection pool only at the time of usage (or runtime). A pool configured with "ping" attribute identifies erroneous values at the time of creation of the pool.
java.sql.Driver based Pooling Support
Mainly for applications that use java.sql.Driver implementations, to configure non-compliant jdbc drivers.
Disable connection pooling by just setting a flag "pooling" to false. The existing system property com.sun.enterprise.connectors.SwitchoffACCConnectionPooling was useful only for application clients. This feature is for the non appclient pools.
Cache Statement, PreparedStatement, CallableStatement objects executed repeatedly by applications to improve performance. Some JDBC drivers do not support caching and this feature comes in handy.
Specify your own implementation for performing a connection validation. A custom implementation could be made available to the application server and used to perform validation when connection validation is turned ON. Validation routines could be performance oriented or database specific.
Execute a SQL query during connection creation. Mainly to set request/session specific properties.
Introspection of JDBC Drivers
A really useful feature that introspects and lists datasource/driver classnames based on the database vendor and resource type in the administration console. User does not need to remember the classnames anymore for a strange uncommon JDBC driver used with GlassFish.
Tracing SQL Statements
Trace SQL statements executed by your application using a jdbc connection pool. Administrators can filter the server.log for easier SQL statement analyses.
What has changed in GlassFish V3
- Connection validation method has been defaulted to "table" as the auto–commit and meta–data values are cached by most of the JDBC drivers
- GlassFish V3 pooling infrastructure will provide wrapped objects for Statement, Prepared/Callable Statement, ResultSet and DatabaseMetaData by default
- wrap–jdbc–objects defaulted to true
- Monitoring support is provided in GlassFish V3 for JDBC using the new probe provider framework.
- Smart admin GUI for JDBC leading to easier user administration
- ex: listing of connection validation table names by introspection
- ex: listing of jdbc classnames for a particular vendor