You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Mark Thomas (JIRA)" <ji...@apache.org> on 2011/06/13 23:53:47 UTC

[jira] [Resolved] (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:all-tabpanel ]

Mark Thomas resolved POOL-150.
------------------------------

    Resolution: Fixed

This was fixed as a side-effect of the 2.0.x re-factoring although not in the manner originally envisaged as factories may be null when GKOPs are created.

> 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.
For more information on JIRA, see: http://www.atlassian.com/software/jira