Module eclipselink

Class ConnectionPool

    • Field Detail

      • isConnected

        protected boolean isConnected
      • maxNumberOfConnections

        protected int maxNumberOfConnections
      • minNumberOfConnections

        protected int minNumberOfConnections
      • initialNumberOfConnections

        protected int initialNumberOfConnections
      • waitTimeout

        protected int waitTimeout
      • connectionsAvailable

        protected List<org.eclipse.persistence.internal.databaseaccess.Accessor> connectionsAvailable
      • connectionsUsed

        protected List<org.eclipse.persistence.internal.databaseaccess.Accessor> connectionsUsed
      • login

        protected Login login
      • checkConnections

        protected volatile boolean checkConnections
      • timeOfDeath

        protected volatile long timeOfDeath
      • deadCheckTime

        protected volatile long deadCheckTime
      • isDead

        protected volatile boolean isDead
      • failoverConnectionPools

        protected List<String> failoverConnectionPools
    • Constructor Detail

      • ConnectionPool

        public ConnectionPool()
        PUBLIC: A connection pool is used to specify how connection should be pooled in a server session.
      • ConnectionPool

        public ConnectionPool​(String name,
                              Login login,
                              ServerSession owner)
        PUBLIC: A connection pool is used to specify how connection should be pooled in a server session.
      • ConnectionPool

        public ConnectionPool​(String name,
                              Login login,
                              int minNumberOfConnections,
                              int maxNumberOfConnections,
                              ServerSession owner)
        PUBLIC: A connection pool is used to specify how connection should be pooled in a server session.
      • ConnectionPool

        public ConnectionPool​(String name,
                              Login login,
                              int initialNumberOfConnections,
                              int minNumberOfConnections,
                              int maxNumberOfConnections,
                              ServerSession owner)
        PUBLIC: A connection pool is used to specify how connection should be pooled in a server session.
    • Method Detail

      • failover

        public org.eclipse.persistence.internal.databaseaccess.Accessor failover()
        INTERNAL: The connection pool is dead fail over to the fail-over pool.
      • acquireConnection

        public org.eclipse.persistence.internal.databaseaccess.Accessor acquireConnection()
                                                                                   throws ConcurrencyException
        INTERNAL: Wait until a connection is available and allocate the connection for the client.
        Throws:
        ConcurrencyException
      • buildConnection

        protected org.eclipse.persistence.internal.databaseaccess.Accessor buildConnection()
        INTERNAL: Create a new connection, accessors are used as connections.
      • getConnectionsAvailable

        public List<org.eclipse.persistence.internal.databaseaccess.Accessor> getConnectionsAvailable()
        INTERNAL: returns the connections currently available for use in the pool
      • getConnectionsUsed

        protected List<org.eclipse.persistence.internal.databaseaccess.Accessor> getConnectionsUsed()
        Return a list of the connections that are being used.
        Returns:
        java.util.Vector
      • getLogin

        public Login getLogin()
        PUBLIC: Return the login used to create connections.
      • getMaxNumberOfConnections

        public int getMaxNumberOfConnections()
        PUBLIC: Return the maximum number of connections allowed. If all connections are in use, a new connection will be created until the maximum size is reach. Only the minimum number of connections will be pooled, if the pool is between the min and max size the connection will be disconnected when returned to the pool. Typically it is desirable to have the min and max connections the same to avoid connects and disconnects. When the max is reached clients must wait for a connection to become available.
      • getMinNumberOfConnections

        public int getMinNumberOfConnections()
        PUBLIC: Return the minimum number of connections. If all connections are in use, a new connection will be created until the maximum size is reach. Only the minimum number of connections will be pooled, if the pool is between the min and max size the connection will be disconnected when returned to the pool. Typically it is desirable to have the min and max connections the same to avoid connects and disconnects.
      • getName

        public String getName()
        PUBLIC: Return the name of this pool. Pools are identified by name to allow multiple connection pools.
      • getOwner

        protected ServerSession getOwner()
        Return the ServerSession that is the owner of this connection pool.
        Returns:
        org.eclipse.persistence.sessions.server.ServerSession
      • getTotalNumberOfConnections

        public int getTotalNumberOfConnections()
        INTERNAL: Return the total number of connections currently in use.
      • hasConnectionAvailable

        public boolean hasConnectionAvailable()
        INTERNAL: Wait until a connection is avaiable and allocate the connection for the client.
      • isConnected

        public boolean isConnected()
        INTERNAL: Return if this pool has been connected to the database.
      • isThereConflictBetweenLoginAndType

        public boolean isThereConflictBetweenLoginAndType()
        INTERNAL: Checks for a conflict between pool's type and pool's login
      • releaseConnection

        public void releaseConnection​(org.eclipse.persistence.internal.databaseaccess.Accessor connection)
                               throws DatabaseException
        INTERNAL: Add the connection as single that a new connection is available.
        Throws:
        DatabaseException
      • resetConnections

        public void resetConnections()
        INTERNAL: Reset the connections on shutDown and when the pool is started.
      • setCheckConnections

        public void setCheckConnections()
        INTERNAL: This method is called to indicate that all available connections should be checked.
      • setConnectionsAvailable

        protected void setConnectionsAvailable​(Vector connectionsAvailable)
        INTERNAL: Set this list of connections available
      • setConnectionsUsed

        protected void setConnectionsUsed​(Vector connectionsUsed)
        INTERNAL: Set the list of connections being used.
      • setIsConnected

        public void setIsConnected​(boolean isConnected)
        INTERNAL: Set if this pool has been connected to the database.
      • setLogin

        public void setLogin​(Login login)
        PUBLIC: Set the login used to create connections.
      • getInitialNumberOfConnections

        public int getInitialNumberOfConnections()
        PUBLIC: Return the initial number of connections allowed. This is the number of connections connected on startup.
      • setInitialNumberOfConnections

        public void setInitialNumberOfConnections​(int initialNumberOfConnections)
        PUBLIC: Set the initial number of connections allowed. This is the number of connections connected on startup. The default is 1.
      • setMaxNumberOfConnections

        public void setMaxNumberOfConnections​(int maxNumberOfConnections)
        PUBLIC: Set the maximum number of connections allowed. If all connections are in use, a new connection will be created until the maximum size is reach. Only the minimum number of connections will be pooled, if the pool is between the min and max size the connection will be disconnected when returned to the pool. Typically it is desirable to have the min and max connections the same to avoid connects and disconnects. When the max is reached clients must wait for a connection to become available. The default is 32.
      • setMinNumberOfConnections

        public void setMinNumberOfConnections​(int minNumberOfConnections)
        PUBLIC: Set the minimum number of connections. If all connections are in use, a new connection will be created until the maximum size is reach. Only the minimum number of connections will be pooled, if the pool is between the min and max size the connection will be disconnected when returned to the pool. Typically it is desirable to have the min and max connections the same to avoid connects and disconnects. The default is 32.
      • setName

        public void setName​(String name)
        PUBLIC: Set the name of this pool. Pools are identified by name to allow multiple connection pools.
      • setOwner

        protected void setOwner​(ServerSession owner)
        Set the ServerSession that owns this connection pool
      • shutDown

        public void shutDown()
        INTERNAL: Disconnect all connections.
      • startUp

        public void startUp()
        INTERNAL: Allocate the minimum connections.
      • toString

        public String toString()
        INTERNAL: return a string representation of this connection pool
        Overrides:
        toString in class Object
      • getWaitTimeout

        public int getWaitTimeout()
        PUBLIC: Return the time in milliseconds to wait for a available connection. If the wait time is exceeded and exception will occur. The default is 180000 or 3 minutes. A value of 0 means wait forever.
      • setWaitTimeout

        public void setWaitTimeout​(int waitTimeout)
        PUBLIC: Set the time in milliseconds to wait for an available connection. If the wait time is exceeded an exception will occur. The default is 180000 or 3 minutes. A value of 0 means wait forever.
      • isDead

        public boolean isDead()
        ADVANCED: Return if the connection pool's database is down, and failover should be used.
      • setIsDead

        public void setIsDead​(boolean isDead)
        ADVANCED: Set if the connection pool's database is down, and failover should be used.
      • getFailoverConnectionPools

        public List<String> getFailoverConnectionPools()
        PUBLIC: Return the list of connection pools to used if this pool database goes down. The failover pools should be a clustered, replicated or backuped database.
      • setFailoverConnectionPools

        public void setFailoverConnectionPools​(List<String> failoverConnectionPools)
        PUBLIC: Set the list of connection pools to used if this pool database goes down. The failover pools should be a clustered, replicated or backuped database.
      • addFailoverConnectionPool

        public boolean addFailoverConnectionPool​(String poolName)
        PUBLIC: Add the connection pool to used if this pool database goes down. The failover pools should be a clustered, replicated or backuped database.