Class ExternalConnectionPool
java.lang.Object
org.eclipse.persistence.sessions.server.ConnectionPool
org.eclipse.persistence.sessions.server.ExternalConnectionPool
Purpose: This subclass is intended to be used with external connection pools. For these pools, TopLink does not control the pooling behavior. The login should have the usesExternalConnectionPooling set to "true".
-
Field Summary
Modifier and TypeFieldDescriptionprotected org.eclipse.persistence.internal.databaseaccess.Accessor
Fields inherited from class org.eclipse.persistence.sessions.server.ConnectionPool
checkConnections, connectionsAvailable, connectionsUsed, DEAD_CHECK_TIME, deadCheckTime, failoverConnectionPools, INITIAL_CONNECTIONS, initialNumberOfConnections, isConnected, isDead, login, MAX_CONNECTIONS, maxNumberOfConnections, MIN_CONNECTIONS, minNumberOfConnections, MONITOR_HEADER, name, owner, timeOfDeath, WAIT_TIMEOUT, waitTimeout
-
Constructor Summary
ConstructorDescriptionPUBLIC: Build a new external connection pool.ExternalConnectionPool
(String name, Login login, ServerSession owner) PUBLIC: Build a new external connection pool. -
Method Summary
Modifier and TypeMethodDescriptionorg.eclipse.persistence.internal.databaseaccess.Accessor
INTERNAL: When we acquire a connection from an ExternalConnectionPool we build a new connection (retrieve it from the external pool).protected org.eclipse.persistence.internal.databaseaccess.Accessor
INTERNAL: Return the currently cached connection to the external connection poolboolean
INTERNAL: Assume true as the driver is responsible for blocking.boolean
INTERNAL: Checks for a conflict between pool's type and pool's loginvoid
releaseConnection
(org.eclipse.persistence.internal.databaseaccess.Accessor connection) INTERNAL: When you release an external connection, you simply let it go.protected void
setCachedConnection
(org.eclipse.persistence.internal.databaseaccess.Accessor cachedConnection) Set the currently cached connection to the external connection pool.void
INTERNAL: This method is called to indicate that all available connections should be checked.void
shutDown()
INTERNAL: This mehtod is a no-op for external pools.void
startUp()
INTERNAL: Build the default connection.Methods inherited from class org.eclipse.persistence.sessions.server.ConnectionPool
addFailoverConnectionPool, buildConnection, failover, getConnectionsAvailable, getConnectionsUsed, getFailoverConnectionPools, getInitialNumberOfConnections, getLogin, getMaxNumberOfConnections, getMinNumberOfConnections, getName, getOwner, getTotalNumberOfConnections, getWaitTimeout, isConnected, isDead, resetConnections, setConnectionsAvailable, setConnectionsUsed, setFailoverConnectionPools, setInitialNumberOfConnections, setIsConnected, setIsDead, setLogin, setMaxNumberOfConnections, setMinNumberOfConnections, setName, setOwner, setWaitTimeout, toString
-
Field Details
-
cachedConnection
protected org.eclipse.persistence.internal.databaseaccess.Accessor cachedConnection
-
-
Constructor Details
-
ExternalConnectionPool
public ExternalConnectionPool()PUBLIC: Build a new external connection pool. The JDBC driver is responsible for pooling the connections. -
ExternalConnectionPool
PUBLIC: Build a new external connection pool. The JDBC driver is responsible for pooling the connections.
-
-
Method Details
-
acquireConnection
public org.eclipse.persistence.internal.databaseaccess.Accessor acquireConnection() throws ConcurrencyExceptionINTERNAL: When we acquire a connection from an ExternalConnectionPool we build a new connection (retrieve it from the external pool).- Overrides:
acquireConnection
in classConnectionPool
- Throws:
ConcurrencyException
-
getCachedConnection
protected org.eclipse.persistence.internal.databaseaccess.Accessor getCachedConnection()INTERNAL: Return the currently cached connection to the external connection pool- Returns:
- org.eclipse.persistence.internal.databaseaccess.Accessor
-
hasConnectionAvailable
public boolean hasConnectionAvailable()INTERNAL: Assume true as the driver is responsible for blocking.- Overrides:
hasConnectionAvailable
in classConnectionPool
-
isThereConflictBetweenLoginAndType
public boolean isThereConflictBetweenLoginAndType()INTERNAL: Checks for a conflict between pool's type and pool's login- Overrides:
isThereConflictBetweenLoginAndType
in classConnectionPool
-
releaseConnection
public void releaseConnection(org.eclipse.persistence.internal.databaseaccess.Accessor connection) throws DatabaseException INTERNAL: When you release an external connection, you simply let it go.- Overrides:
releaseConnection
in classConnectionPool
- Throws:
DatabaseException
-
setCachedConnection
protected void setCachedConnection(org.eclipse.persistence.internal.databaseaccess.Accessor cachedConnection) Set the currently cached connection to the external connection pool.- Parameters:
cachedConnection
-
-
setCheckConnections
public void setCheckConnections()INTERNAL: This method is called to indicate that all available connections should be checked. Noop on external connection pool.- Overrides:
setCheckConnections
in classConnectionPool
-
shutDown
public void shutDown()INTERNAL: This mehtod is a no-op for external pools.- Overrides:
shutDown
in classConnectionPool
-
startUp
public void startUp()INTERNAL: Build the default connection. This validates that connect will work and sets up the parent accessor to clone.- Overrides:
startUp
in classConnectionPool
-