You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Simone Tripodi (JIRA)" <ji...@apache.org> on 2010/12/21 15:22:02 UTC
[jira] Commented: (POOL-150) GenericKeyedObjectPool.preparePool
does not throw an exception if supplied factory is null
[ https://issues.apache.org/jira/browse/POOL-150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12973666#action_12973666 ]
Simone Tripodi commented on POOL-150:
-------------------------------------
In the current implementations in trunk, factories cannot be null, there's a check in ctors, so
* this issue can be closed because we prevents null factories;
OR
* I didn't understand how the pool should work so null factories are allowed.
What's of the two?
> GenericKeyedObjectPool.preparePool does not throw an exception if supplied factory is null
> ------------------------------------------------------------------------------------------
>
> Key: POOL-150
> URL: https://issues.apache.org/jira/browse/POOL-150
> Project: Commons Pool
> Issue Type: Bug
> Affects Versions: 1.4
> Environment: Java 5
> Reporter: VIJAY KUMAR
> Fix For: 2.0
>
> Original Estimate: 3h
> Remaining Estimate: 3h
>
> GenericKeyedObjectPool.preparePool doesnot throw an exception if supplied factory is null.
> GenericKeyedObjectPool.preparePool invokes ensureMinIdle() if populateImmediately is true and GenericKeyedObjectPool.ensureMinIdle() invokes GenericKeyedObjectPool.addObject() which throws an IllegalStateException if factory is null but this exception does not throw further in GenericKeyedObjectPool.preparePool.
> Catch block of GenericKeyedObjectPool..preparePool is empty.
> public synchronized void preparePool(Object key, boolean populateImmediately) {
> ObjectQueue pool = (ObjectQueue)(_poolMap.get(key));
> System.out.println(this.getClass().getName()+".preparePool() pool ["+pool +"]");
> if (null == pool) {
> pool = new ObjectQueue();
> _poolMap.put(key,pool);
> _poolList.add(key);
> }
> if (populateImmediately) {
> try {
> // Create the pooled objects
> System.out.println(this.getClass().getName()+".preparePool() Create the pooled objects ");
> ensureMinIdle(key);
> }
> catch (Exception e) {
> //Do nothing
> }
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.