[ https://issues.apache.org/jira/browse/POOL-248?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Thomas resolved POOL-248. ------------------------------ Resolution: Fixed Fix Version/s: 2.2 I've reviewed and updated the Javadoc. > GenericObjectPool.returnObject() is NOT throwing IllegalStateException for > object has already been returned > ----------------------------------------------------------------------------------------------------------- > > Key: POOL-248 > URL: https://issues.apache.org/jira/browse/POOL-248 > Project: Commons Pool > Issue Type: Bug > Affects Versions: 2.1 > Reporter: Warren Chen > Fix For: 2.2 > > > When GenericObjectPool is created using AbandonedConfig, the pool is NOT > throwing "IllegalStateException: Object has already been returned to this > pool or is invalid" for object has already been returned. > final GenericObjectPool<String> pool = new GenericObjectPool<String>( > new SimpleFactory(), new > GenericObjectPoolConfig(), > new AbandonedConfig()); > String obj1 = pool.borrowObject(); > System.out.println("after borrowing obj1"); > System.out.println("numActive=" + pool.getNumActive()); > System.out.println("numIdle=" + pool.getNumIdle()); > System.out.println("return obj1"); > pool.returnObject(obj1); > System.out.println("numActive=" + pool.getNumActive()); > System.out.println("numIdle=" + pool.getNumIdle()); > > System.out.println("return obj1 again"); > pool.returnObject(obj1); > System.out.println("numActive=" + pool.getNumActive()); > System.out.println("numIdle=" + pool.getNumIdle()); > Output: > after borrowing obj1 > numActive=1 > numIdle=0 > return obj1 > numActive=0 > numIdle=1 > return obj1 again > numActive=-1 > numIdle=2 -- This message was sent by Atlassian JIRA (v6.1.5#6160)