Class AbandonedObjectPool

java.lang.Object
org.apache.commons.pool.BaseObjectPool
org.apache.commons.pool.impl.GenericObjectPool
org.apache.commons.dbcp.AbandonedObjectPool
All Implemented Interfaces:
org.apache.commons.pool.ObjectPool

public class AbandonedObjectPool extends org.apache.commons.pool.impl.GenericObjectPool

An implementation of a Jakarta-Commons ObjectPool which tracks JDBC connections and can recover abandoned db connections. If logAbandoned=true, a stack trace will be printed for any abandoned db connections recovered.

Version:
$Revision: 899987 $ $Date: 2010-01-16 11:51:16 -0500 (Sat, 16 Jan 2010) $
Author:
Glenn L. Nielsen
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.commons.pool.impl.GenericObjectPool

    org.apache.commons.pool.impl.GenericObjectPool.Config
  • Field Summary

    Fields inherited from class org.apache.commons.pool.impl.GenericObjectPool

    DEFAULT_LIFO, DEFAULT_MAX_ACTIVE, DEFAULT_MAX_IDLE, DEFAULT_MAX_WAIT, DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS, DEFAULT_MIN_IDLE, DEFAULT_NUM_TESTS_PER_EVICTION_RUN, DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS, DEFAULT_TEST_ON_BORROW, DEFAULT_TEST_ON_RETURN, DEFAULT_TEST_WHILE_IDLE, DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS, DEFAULT_WHEN_EXHAUSTED_ACTION, WHEN_EXHAUSTED_BLOCK, WHEN_EXHAUSTED_FAIL, WHEN_EXHAUSTED_GROW
  • Constructor Summary

    Constructors
    Constructor
    Description
    AbandonedObjectPool(org.apache.commons.pool.PoolableObjectFactory factory, AbandonedConfig config)
    Create an ObjectPool which tracks db connections.
  • Method Summary

    Modifier and Type
    Method
    Description
    Get a db connection from the pool.
    void
    Invalidates an object from the pool.
    void
    Return a db connection to the pool.

    Methods inherited from class org.apache.commons.pool.impl.GenericObjectPool

    addObject, clear, close, evict, getLifo, getMaxActive, getMaxIdle, getMaxWait, getMinEvictableIdleTimeMillis, getMinIdle, getNumActive, getNumIdle, getNumTestsPerEvictionRun, getSoftMinEvictableIdleTimeMillis, getTestOnBorrow, getTestOnReturn, getTestWhileIdle, getTimeBetweenEvictionRunsMillis, getWhenExhaustedAction, setConfig, setLifo, setMaxActive, setMaxIdle, setMaxWait, setMinEvictableIdleTimeMillis, setMinIdle, setNumTestsPerEvictionRun, setSoftMinEvictableIdleTimeMillis, setTestOnBorrow, setTestOnReturn, setTestWhileIdle, setTimeBetweenEvictionRunsMillis, setWhenExhaustedAction

    Methods inherited from class org.apache.commons.pool.BaseObjectPool

    isClosed

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • AbandonedObjectPool

      public AbandonedObjectPool(org.apache.commons.pool.PoolableObjectFactory factory, AbandonedConfig config)
      Create an ObjectPool which tracks db connections.
      Parameters:
      factory - PoolableObjectFactory used to create this
      config - configuration for abandoned db connections
  • Method Details

    • borrowObject

      public Object borrowObject() throws Exception
      Get a db connection from the pool. If removeAbandoned=true, recovers db connections which have been idle > removeAbandonedTimeout and getNumActive() > getMaxActive() - 3 and getNumIdle() invalid input: '<' 2
      Specified by:
      borrowObject in interface org.apache.commons.pool.ObjectPool
      Overrides:
      borrowObject in class org.apache.commons.pool.impl.GenericObjectPool
      Returns:
      Object jdbc Connection
      Throws:
      Exception - if an exception occurs retrieving a connection from the pool
    • returnObject

      public void returnObject(Object obj) throws Exception
      Return a db connection to the pool.
      Specified by:
      returnObject in interface org.apache.commons.pool.ObjectPool
      Overrides:
      returnObject in class org.apache.commons.pool.impl.GenericObjectPool
      Parameters:
      obj - db Connection to return
      Throws:
      Exception - if an exception occurs returning the connection to the pool
    • invalidateObject

      public void invalidateObject(Object obj) throws Exception
      Invalidates an object from the pool.
      Specified by:
      invalidateObject in interface org.apache.commons.pool.ObjectPool
      Overrides:
      invalidateObject in class org.apache.commons.pool.impl.GenericObjectPool
      Parameters:
      obj - object to be returned
      Throws:
      Exception - if an exception occurs invalidating the object