You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Sebb (JIRA)" <ji...@apache.org> on 2012/05/06 00:33:48 UTC

[jira] [Reopened] (POOL-105) how it go in method evict() of class GenericKeyedObjectPool.java

     [ https://issues.apache.org/jira/browse/POOL-105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sebb reopened POOL-105:
-----------------------

    
> how it go in method evict() of class GenericKeyedObjectPool.java
> ----------------------------------------------------------------
>
>                 Key: POOL-105
>                 URL: https://issues.apache.org/jira/browse/POOL-105
>             Project: Commons Pool
>          Issue Type: Bug
>    Affects Versions: 1.3
>         Environment: windows
>            Reporter: yigemaser
>            Priority: Minor
>             Fix For: 1.4
>
>
> in the method evict(),  if the getNumTests() get 10,the key will not change , is it a problem??
> public synchronized void evict() throws Exception {
>         Object key = null;
>        ...............
>         for(int i=0,m=getNumTests();i<m;i++) {
>             System.out.println("key="+key);
>             if(_poolMap.size() > 0) {
>                 // Find next idle object pool key to work on
>                 if (key == null) {
>                     if (!keyIter.hasNext()) {
>                         _recentlyEvictedKeys.clear();
>                         remainingKeys = new HashSet(_poolMap.keySet());
>                         keyIter = remainingKeys.iterator();
>                     }
>                     if (!keyIter.hasNext()) {
>                         // done, there are no keyed pools
>                         return;
>                     }
>                     key = keyIter.next();
>                 }
>               ...................
>                }
>         }
>     }
> the print out will repeat 9 times , is it right??
> i think this should move " key = keyIter.next();"  to next line
>  if (key == null) {
>                     if (!keyIter.hasNext()) {
>                         _recentlyEvictedKeys.clear();
>                         remainingKeys = new HashSet(_poolMap.keySet());
>                         keyIter = remainingKeys.iterator();
>                     }
>                     if (!keyIter.hasNext()) {
>                         // done, there are no keyed pools
>                         return;
>                     }
>                 }
>                 key = keyIter.next();
>                 ......................

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira