commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Hu (JIRA)" <j...@apache.org>
Subject [jira] Created: (POOL-157) GenericObjectPool.setFactory(...) does not destroy idle pool objects with their original factory object.
Date Tue, 26 Jan 2010 23:39:34 GMT
GenericObjectPool.setFactory(...) does not destroy idle pool objects with their original factory
object.
--------------------------------------------------------------------------------------------------------

                 Key: POOL-157
                 URL: https://issues.apache.org/jira/browse/POOL-157
             Project: Commons Pool
          Issue Type: Bug
            Reporter: David Hu
            Priority: Minor


When setting a new object factory, the existing idle poolable objects are not destroyed by
the same factory that created them.

1453	    public void setFactory(PoolableObjectFactory factory) throws IllegalStateException
{
1454	        List toDestroy = new ArrayList();
1455	        synchronized (this) {
1456	            assertOpen();
1457	            if(0 < getNumActive()) {
1458	                throw new IllegalStateException("Objects are already active");
1459	            } else {
1460	                toDestroy.addAll(_pool);
1461	                _numInternalProcessing = _numInternalProcessing + _pool._size;
1462	                _pool.clear();
1463	            }
1464	            _factory = factory;
1465	        }
1466	        destroy(toDestroy); // <----- indirectly calls _factory.destroy(...) when
_factory has already been replaced by the new factory.
1467	    }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message