[ http://issues.apache.org/jira/browse/POOL-87?page=all ]
Henri Yandell closed POOL-87.
-----------------------------
Resolution: Invalid
User requested the issue be closed.
> Commons-Pool does not always calling activateObject on newly created Objects
> ----------------------------------------------------------------------------
>
> Key: POOL-87
> URL: http://issues.apache.org/jira/browse/POOL-87
> Project: Commons Pool
> Issue Type: Bug
> Environment: Windows 2003 Java HotSpot(TM) Client VM (build
> 1.5.0_08-b03, mixed mode, sharing)
> Reporter: Bernie McGourty
> Assigned To: Sandy McArthur
> Attachments: TestGenericObjectPool.java
>
>
> I'm using the GenericObjectPool and a PoolableObjectFactory.
> The GenericObjectPool works as expected and documented in that my
> implementation of the PoolableObjectFactory is called according to the
> life-cycle:
> 1. makeObject is called whenever a new instance is needed.
> 2. activateObject is invoked on every instance before it is returned from the
> pool.
> 3. passivateObject is invoked on every instance when it is returned to the
> pool.
> 4. destroyObject is invoked on every instance when it is being "dropped" from
> the pool (whether due to the response from validateObject, or for reasons
> specific to the pool implementation.) 5. validateObject is invoked in an
> implementation-specific fashion to determine if an instance is still valid to
> be returned by the pool. It will only be invoked on an "activated" instance.
> I've set the minimum idle instances to 5 and when the pool goes below 5
> instances, new objects are created to reach the minimum.
> The problem is that the life-cycle is not followed in that makeObject is
> called on the PoolFactory and then validateObject - activateObject is never
> called.
> The interface doc for validateObject stipulates that it will only be invoked
> on "activated" objects.
> I looked at the GenericObjectPool class and it appears that ensureMinIdle()
> creates the new objects required by calling addObject() but when it calls
> addObjectToPool() the newly created object is never activated before it is
> validated.
> I'm using the following pool config:
> poolConfig.maxWait = 5000;
> poolConfig.maxActive = 100;
> poolConfig.minIdle = 5;
> poolConfig.maxIdle = 50;
> poolConfig.testOnBorrow = true;
> poolConfig.testOnReturn = true;
> poolConfig.testWhileIdle = true;
> poolConfig.timeBetweenEvictionRunsMillis = 15000;
> poolConfig.whenExhaustedAction = GenericObjectPool.WHEN_EXHAUSTED_GROW;
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]