public class JDBCConnectionPool extends ResourcePool implements ConnectionStats
JDBCConnectionPool manages a pool of JDBC Connection objects. Connections from the JDBCConnectionPool can also be obtained through normal JDBC calls, so that applications can use the connection pool without knowing about this class.
The connection pool is automatically accessible as a JDBC driver with the url "jdbc:atgpool:{connectionPoolName}". Where {connectionPoolName} is the name of the component in its NameContext. For example, if the component is defined as /atg/dynamo/service/jdbc/ConnectionPool.properties, its name is URL is: "jdbc:atgpool:ConnectionPool".
In order for this feature to work, a ConnectionPoolRegistry component must exist in the same NameContext (i.e. configured from the same directory). Here is an example code snippet to retrieve a connection using the JDBC driver calls:
Connection conn = DriverManager.getConnection ("jdbc:atgpool:ConnectionPool"); ... conn.close ();
The close() command automatically checks the connection back into the connection pool.
In addition, a "transaction aware" JDBC driver is also created that can be accessed through the url "jdbc:atgtrans:{connectionPoolName}". When this url is used, the driver first checks to see if there is a Connection associated with the current transaction. If so, that connection is returned. Otherwise, a new Connection is checked out from the pool and associated with the transaction. When the transaction commits or aborts, the Connection is automatically committed or aborted, then checked back into the pool.
Once an application obtains a transaction-aware Connection, it must not call commit(), rollback(), or close() on that connection.
Modifier and Type | Class and Description |
---|---|
class |
JDBCConnectionPool.SQLLogging
Deprecated.
A utility class which builds a separate logging interface for SQL
logging to have access to.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Deprecated.
Class version string
|
java.lang.String |
mDatabase
Deprecated.
The db name.
|
java.lang.String |
mDriver
Deprecated.
The class name of the JDBC driver to load.
|
java.lang.String |
mPassword
Deprecated.
The db user password.
|
java.lang.String |
mServer
Deprecated.
The db server name.
|
java.lang.String |
mURL
Deprecated.
The JDBC URL string.
|
java.lang.String |
mUser
Deprecated.
The db user to login as.
|
mBlocking, mCheckoutBlockTime, mCreatingResources, mCreationTimeLimit, mFreeResources, mHealthy, mMax, mMaxFree, mMaxPendingCreations, mMaxStartupAttempts, mMin, mPool, mResourceClassName, mStartupSleepTime, mUnusedPoolSlots
SERVICE_INFO_KEY
RESOURCE_BUNDLE, RSRC_blockTimeout, RSRC_ciCreateFailure, RSRC_ciForeignResource, RSRC_ciWrongResource, RSRC_coNonRunning, RSRC_creationLimit, RSRC_creationTimeout, RSRC_failedInitialPopulation, RSRC_hitPoolMax, RSRC_maxResourcePerThread, RSRC_maxThreads, RSRC_misconfiguration, RSRC_nestedCheckout, RSRC_nonOwningThread, RSRC_notImplemented, RSRC_poolDisabled, RSRC_startupFailure, RSRC_usingClosedConnection
DEFAULT_LOG_TRACE_STATUS
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
Constructor and Description |
---|
JDBCConnectionPool()
Deprecated.
Constructs an uninitialized JDBCConnectionPool.
|
Modifier and Type | Method and Description |
---|---|
void |
addConnectionPoolShutdownListener(atg.service.resourcepool.ConnectionPoolShutdownListener newListener)
Deprecated.
Adds a new shutdown event listener.
|
void |
checkIn(ResourceObject pResource)
Deprecated.
Checks a resource into the pool.
|
ResourceObject |
checkOut(java.lang.String pCheckOutTag)
Deprecated.
Adds to the ResourcePool's checkout() an additional validity
check on the outbound object, in our case to make sure that the
Connection is good and open.
|
java.lang.Object |
createResource()
Deprecated.
Gets a JDBC Connection.
|
void |
destroyResource(java.lang.Object pResource)
Deprecated.
Closes the JDBC Connection.
|
void |
doStartService()
Deprecated.
Register the driver is a connectionPoolName has been specified
|
void |
doStopService()
Deprecated.
Send a shutdown event and stop the service.
|
protected void |
fireShutdownEvent()
Deprecated.
Sends a ConnectionPoolShutdownEvent to all listeners.
|
java.util.Properties |
getAdditionalConnectionProperties()
Deprecated.
Set of properties that should be used to create new connections.
|
boolean |
getAutoCommit()
Deprecated.
Returns the flag indicating if the created Connections will be
set with autoCommit on.
|
int |
getCommitCount()
Deprecated.
Returns the number of times commit() has been called
|
int |
getCreateStatementCount()
Deprecated.
Returns the number of times createStatement() has been called
|
java.lang.String |
getDatabase()
Deprecated.
Returns the db name.
|
java.lang.String |
getDriver()
Deprecated.
Returns the class name of the JDBC driver used.
|
int |
getErrorCount()
Deprecated.
Returns the number of times a SQLException resulted from
calls.
|
int |
getExecuteCount()
Deprecated.
Returns the number of times Statement.execute() has been
called
|
int |
getExecuteQueryCount()
Deprecated.
Returns the number of times Statement.executeQuery() has been
called
|
int |
getExecuteUpdateCount()
Deprecated.
Returns the number of times Statement.executeUpdate() has been
called
|
int |
getGetMoreResultsCount()
Deprecated.
Returns the number of times Statement.getMoreResults() has been
called
|
java.lang.String[] |
getInitializingSQL()
Deprecated.
Returns the array of SQL commands that are executed upon a Connection being created
|
java.lang.Integer |
getMaxFieldSize()
Deprecated.
Returns the size of the data that can be returned for any column.
|
java.lang.Integer |
getMaxRows()
Deprecated.
Returns the maximum number of rows that can be returned for any query.
|
boolean |
getNeedsSeparateUserInfo()
Deprecated.
Returns the flag that indicates whether this driver needs to
use the special getConnection(url, user, password) form of the
connection call.
|
java.lang.String |
getPassword()
Deprecated.
Returns the password for the user name.
|
java.lang.String |
getPoolTransURL()
Deprecated.
Returns the JDBC URL that can be used to access this pool
transactionally through the JDBC DriverManager.
|
java.lang.String |
getPoolURL()
Deprecated.
Returns the JDBC URL that can be used to access this pool through
the JDBC DriverManager.
|
int |
getPrepareCallCount()
Deprecated.
Returns the number of times prepareCall() has been called
|
int |
getPrepareStatementCount()
Deprecated.
Returns the number of times prepareStatement() has been called
|
java.lang.Integer |
getQueryTimeout()
Deprecated.
Returns the maximum number of seconds that the driver will wait for a Statement to execute.
|
boolean |
getReadOnly()
Deprecated.
Returns the flag indicating if the created Connections will be
set with readOnly on.
|
int |
getResultSetRowCount()
Deprecated.
Returns the number of times ResultSet.next() has been called
|
int |
getRollbackCount()
Deprecated.
Returns the number of times rollback() has been called
|
java.lang.String |
getServer()
Deprecated.
Returns the db server name.
|
java.lang.String |
getURL()
Deprecated.
Returns the JDBC URL.
|
java.lang.String |
getUser()
Deprecated.
Returns the db user name.
|
void |
incrementCommitCount()
Deprecated.
Increments the number of times commit() has been called
|
void |
incrementCreateStatementCount()
Deprecated.
Increments the number of times createStatement() has been called
|
void |
incrementErrorCount()
Deprecated.
Increments the number of times a SQLException resulted from
calls.
|
void |
incrementExecuteCount()
Deprecated.
Increments the number of times Statement.execute() has been
called
|
void |
incrementExecuteQueryCount()
Deprecated.
Increments the number of times Statement.executeQuery() has been
called
|
void |
incrementExecuteUpdateCount()
Deprecated.
Increments the number of times Statement.executeUpdate() has been
called
|
void |
incrementGetMoreResultsCount()
Deprecated.
Increments the number of times Statement.getMoreResults() has been
called
|
void |
incrementPrepareCallCount()
Deprecated.
Increments the number of times prepareCall() has been called
|
void |
incrementPrepareStatementCount()
Deprecated.
Increments the number of times prepareStatement() has been called
|
void |
incrementResultSetRowCount()
Deprecated.
Increments the number of times ResultSet.next() has been called
|
void |
incrementRollbackCount()
Deprecated.
Increments the number of times rollback() has been called
|
boolean |
isGeneratingMonitoredConnections()
Deprecated.
Returns the flag indicating whether or not this is generating
monitored connections.
|
boolean |
isLoggingSQLDebug()
Deprecated.
This method returns whether or not an debug log event should be
broadcast for MonitoredConnections.
|
boolean |
isLoggingSQLError()
Deprecated.
This method returns whether or not an error log event should be
broadcast for MonitoredConnections.
|
boolean |
isLoggingSQLInfo()
Deprecated.
This method returns whether or not an info log event should be
broadcast for MonitoredConnections.
|
boolean |
isLoggingSQLWarning()
Deprecated.
This method returns whether or not an warning log event should be
broadcast for MonitoredConnections.
|
void |
removeConnectionPoolShutdownListener(atg.service.resourcepool.ConnectionPoolShutdownListener oldListener)
Deprecated.
Removes a shutdown event listener.
|
void |
setAdditionalConnectionProperties(java.util.Properties pValue)
Deprecated.
Set of properties that should be used to create new connections.
|
void |
setAutoCommit(boolean pAutoCommit)
Deprecated.
Sets the flag indicating if the created Connections will be set
with autoCommit on.
|
void |
setDatabase(java.lang.String pDatabase)
Deprecated.
Sets the db name.
|
void |
setDriver(java.lang.String pDriver)
Deprecated.
Sets the class name of the JDBC driver to load.
|
void |
setGeneratingMonitoredConnections(boolean pGeneratingMonitoredConnections)
Deprecated.
Sets the flag indicating whether or not this is generating
monitored connections.
|
void |
setInitializingSQL(java.lang.String[] pInitializingSQL)
Deprecated.
Sets the array of SQL commands that are executed upon a Connection being created
|
void |
setLoggingSQLDebug(boolean pLogging)
Deprecated.
Sets whether or not error log events should be logged for MonitoredConnections.
|
void |
setLoggingSQLError(boolean pLogging)
Deprecated.
Sets whether or not error log events should be logged for MonitoredConnections.
|
void |
setLoggingSQLInfo(boolean pLogging)
Deprecated.
Sets whether or not info log events should be logged for MonitoredConnections.
|
void |
setLoggingSQLWarning(boolean pLogging)
Deprecated.
Sets whether or not warning log events should be logged for MonitoredConnections.
|
void |
setMaxFieldSize(java.lang.Integer pMaxFieldSize)
Deprecated.
Sets the size of the data that can be returned for any column.
|
void |
setMaxRows(java.lang.Integer pMaxRows)
Deprecated.
Sets the maximum number of rows that can be returned for any query.
|
void |
setNeedsSeparateUserInfo(boolean pInfo)
Deprecated.
Sets the flag that indicates whether this driver needs to
use the special getConnection(url, user, password) form of the
connection call.
|
void |
setPassword(java.lang.String pPassword)
Deprecated.
Sets the password associated with the user name.
|
void |
setQueryTimeout(java.lang.Integer pQueryTimeout)
Deprecated.
Sets the maximum number of seconds that the driver will wait for a Statement to execute.
|
void |
setReadOnly(boolean pReadOnly)
Deprecated.
Sets the flag indicating if the created Connections will be set
with readOnly on.
|
void |
setServer(java.lang.String pServer)
Deprecated.
Sets the db server name.
|
void |
setURL(java.lang.String pURL)
Deprecated.
Sets the JDBC URL to use for opening connections.
|
void |
setUser(java.lang.String pUser)
Deprecated.
Sets the user name to log into the db server as.
|
boolean |
verifyResourceValidity(ResourceObject pResource)
Deprecated.
Checks to make sure that the in-coming JDBC Connection has not
been closed.
|
addAdminInfo, block, createAdminServlet, finalize, getAverageResourceCreationTime, getBlocking, getCheckoutBlockTime, getCreationTimeLimit, getCurrentStack, getDebugConnections, getLastError, getMax, getMaxConcurrentResourcesPerThread, getMaxConcurrentThreads, getMaxFree, getMaxIdleAge, getMaxPendingCreations, getMaxResourceAge, getMaxResourcesPerThread, getMaxSimultaneousResourcesOut, getMaxThreadsWithResourcesOut, getMin, getNumCheckedOutResources, getNumFreeResources, getNumTotalResources, getResourceClassName, getStartupAttempts, getStartupFailureSleepTime, invalidateAllResources, isEnabled, isWarnOnNestedCheckouts, populateSlot, pruneFreeResources, reclaimResource, resetMaxConcurrentResourcesPerThread, resetMaxConcurrentThreads, resetMaxSimultaneousResourcesOut, setBlocking, setCheckoutBlockTime, setCreationTimeLimit, setDebugConnections, setLastError, setMax, setMaxFree, setMaxIdleAge, setMaxPendingCreations, setMaxResourceAge, setMaxResourcesPerThread, setMaxThreadsWithResourcesOut, setMin, setResourceClassName, setStartupAttempts, setStartupFailureSleepTime, setWarnOnNestedCheckouts, unblock
addLogListener, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public static java.lang.String CLASS_VERSION
public java.lang.String mDriver
public java.lang.String mURL
public java.lang.String mServer
public java.lang.String mDatabase
public java.lang.String mUser
public java.lang.String mPassword
public JDBCConnectionPool()
public boolean isLoggingSQLInfo()
public void setLoggingSQLInfo(boolean pLogging)
public boolean isLoggingSQLWarning()
public void setLoggingSQLWarning(boolean pLogging)
public boolean isLoggingSQLError()
public void setLoggingSQLError(boolean pLogging)
public boolean isLoggingSQLDebug()
public void setLoggingSQLDebug(boolean pLogging)
public void setDriver(java.lang.String pDriver)
pDriver
- the Driverpublic void setURL(java.lang.String pURL)
pURL
- the URLpublic void setServer(java.lang.String pServer)
pServerName
- the server namepublic void setDatabase(java.lang.String pDatabase)
pDatabase
- the databasepublic void setUser(java.lang.String pUser)
pUser
- the user namepublic void setPassword(java.lang.String pPassword)
pPassword
- the passwordpublic void setAdditionalConnectionProperties(java.util.Properties pValue)
public java.lang.String getDriver()
public java.lang.String getURL()
public java.lang.String getServer()
public java.lang.String getDatabase()
public java.lang.String getUser()
public java.lang.String getPassword()
public java.util.Properties getAdditionalConnectionProperties()
public boolean getAutoCommit()
public void setAutoCommit(boolean pAutoCommit)
public boolean getReadOnly()
public void setReadOnly(boolean pReadOnly)
public java.lang.String[] getInitializingSQL()
public void setInitializingSQL(java.lang.String[] pInitializingSQL)
public java.lang.Integer getMaxFieldSize()
public void setMaxFieldSize(java.lang.Integer pMaxFieldSize)
public java.lang.Integer getMaxRows()
public void setMaxRows(java.lang.Integer pMaxRows)
public java.lang.Integer getQueryTimeout()
public void setQueryTimeout(java.lang.Integer pQueryTimeout)
public boolean isGeneratingMonitoredConnections()
public boolean getNeedsSeparateUserInfo()
public java.lang.String getPoolURL()
public java.lang.String getPoolTransURL()
public void setNeedsSeparateUserInfo(boolean pInfo)
public void setGeneratingMonitoredConnections(boolean pGeneratingMonitoredConnections)
public void doStartService() throws ServiceException
doStartService
in class ResourcePool
ServiceException
- if an error occurred during the operationpublic void doStopService() throws ServiceException
doStopService
in class ResourcePool
ServiceException
- if an error occurred during the operationpublic void addConnectionPoolShutdownListener(atg.service.resourcepool.ConnectionPoolShutdownListener newListener)
ConnectionPoolShutdownListener
,
ConnectionPoolShutdownEvent
public void removeConnectionPoolShutdownListener(atg.service.resourcepool.ConnectionPoolShutdownListener oldListener)
ConnectionPoolShutdownListener
,
ConnectionPoolShutdownEvent
protected void fireShutdownEvent()
ConnectionPoolShutdownListener
,
ConnectionPoolShutdownEvent
public java.lang.Object createResource() throws ResourcePoolException
createResource
in class ResourcePool
ResourcePoolException
- if there was a problem creating
the JDBC connectionpublic void destroyResource(java.lang.Object pResource)
destroyResource
in class ResourcePool
pResource
- the Object to destroypublic boolean verifyResourceValidity(ResourceObject pResource)
verifyResourceValidity
in class ResourcePool
pResource
- the ResourceObject to verifypublic ResourceObject checkOut(java.lang.String pCheckOutTag) throws ResourcePoolException
checkOut
in class ResourcePool
ResourcePoolException
- if an error occurred during the
operationpublic void checkIn(ResourceObject pResource) throws ResourcePoolException
checkIn
in class ResourcePool
pResource
- a resource checked out from this poolResourcePoolException
- if an error occurred during the
operationpublic void incrementErrorCount()
incrementErrorCount
in interface ConnectionStats
public int getErrorCount()
public void incrementCommitCount()
incrementCommitCount
in interface ConnectionStats
public int getCommitCount()
public void incrementRollbackCount()
incrementRollbackCount
in interface ConnectionStats
public int getRollbackCount()
public void incrementCreateStatementCount()
incrementCreateStatementCount
in interface ConnectionStats
public int getCreateStatementCount()
public void incrementPrepareStatementCount()
incrementPrepareStatementCount
in interface ConnectionStats
public int getPrepareStatementCount()
public void incrementPrepareCallCount()
incrementPrepareCallCount
in interface ConnectionStats
public int getPrepareCallCount()
public void incrementExecuteQueryCount()
incrementExecuteQueryCount
in interface ConnectionStats
public int getExecuteQueryCount()
public void incrementExecuteUpdateCount()
incrementExecuteUpdateCount
in interface ConnectionStats
public int getExecuteUpdateCount()
public void incrementExecuteCount()
incrementExecuteCount
in interface ConnectionStats
public int getExecuteCount()
public void incrementGetMoreResultsCount()
incrementGetMoreResultsCount
in interface ConnectionStats
public int getGetMoreResultsCount()
public void incrementResultSetRowCount()
incrementResultSetRowCount
in interface ConnectionStats
public int getResultSetRowCount()