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.