Class ExternalConnectionPool
- java.lang.Object
-
- org.eclipse.persistence.sessions.server.ConnectionPool
-
- org.eclipse.persistence.sessions.server.ExternalConnectionPool
-
public class ExternalConnectionPool extends ConnectionPool
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
Fields Modifier and Type Field Description protected org.eclipse.persistence.internal.databaseaccess.Accessor
cachedConnection
-
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
Constructors Constructor Description ExternalConnectionPool()
PUBLIC: Build a new external connection pool.ExternalConnectionPool(java.lang.String name, Login login, ServerSession owner)
PUBLIC: Build a new external connection pool.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.eclipse.persistence.internal.databaseaccess.Accessor
acquireConnection()
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
getCachedConnection()
INTERNAL: Return the currently cached connection to the external connection poolboolean
hasConnectionAvailable()
INTERNAL: Assume true as the driver is responsible for blocking.boolean
isThereConflictBetweenLoginAndType()
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
setCheckConnections()
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
-
-
-
-
Constructor Detail
-
ExternalConnectionPool
public ExternalConnectionPool()
PUBLIC: Build a new external connection pool. The JDBC driver is responsible for pooling the connections.
-
ExternalConnectionPool
public ExternalConnectionPool(java.lang.String name, Login login, ServerSession owner)
PUBLIC: Build a new external connection pool. The JDBC driver is responsible for pooling the connections.
-
-
Method Detail
-
acquireConnection
public org.eclipse.persistence.internal.databaseaccess.Accessor acquireConnection() throws ConcurrencyException
INTERNAL: 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
-
-