Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.2
-
None
-
ALL
Description
the javadoc on GenericObjectPool#close() says:
"Closes the pool. Once the pool is closed, borrowObject() will fail with IllegalStateException, but returnObject(Object) and invalidateObject(Object) will continue to work, with returned objects destroyed on return.
Destroys idle instances in the pool by invoking clear()."
Thread1: pool.close()
Thread2: pool.returnObject()
since close and returnObject is not synchronized, there is a small chance that an returned object is not destoryed after the pool is closed