Release notes for Commons-Pool 1.3

This is a long overdue maintence release of the Pool 1.x branch. This should be a drop in upgrade for anyone using Pool 1.2.

  • Dependency on Commons Collections has been removed. Pool 1.3 has no requirements other than a 1.3 JVM.

  • Thanks to an audit by Mayur Naik many potential synchronizations issues have been fixed.

  • GenericObjectPool and GenericKeyedObjectPool were incorrectly implemented as a LIFO (stack) as opposed to a FIFO as documented. This has been fixed.

  • The PoolUtils class with a number static decorator methods has been added.

  • The following issues were resolved since v1.2: (see Bugzilla for complete description)

    ID Date Sev State Summary
    27493 2004-11-17 enh FIXE GenericKeyedObjectPool: maxTotal limit enhancement
    28619 2004-11-17 enh FIXE GenericObjectPool: Swallowed Exception
    29863 2004-11-17 nor FIXE GenericObjectPool.setMaxActive(0) allows an infinite numb...
    29912 2004-11-17 nor FIXE [pool] Compilation under 1.5: enum keyword
    30426 2004-11-17 enh FIXE [pool] need property for removing objects above min
    31298 2004-11-17 nor FIXE setMinIdle feature implemented for GenericKeyedObjectPool
    34902 2005-05-16 nor FIXE [pool] StackObjectPool.releaseObject(...) has silly behav...
    34934 2005-05-16 tri FIXE [pool] clean up some JavaDoc warnings
    34935 2005-05-16 enh FIXE [pool] changes the borrowObject method so it advoids catc...
    34296 2005-05-16 maj FIXE [pool] Potential pool leak if _factory.makeObject() throw...
    37226 2005-10-26 maj FIXE [pool] synchronization issues in StackObjectPool
    37227 2005-10-26 maj FIXE [pool] synchronization issues in GenericObjectPool
    37228 2005-10-27 maj FIXE [pool] synchronization issues in SoftReferenceObjectPool
    37234 2005-10-27 maj FIXE [pool] synchronization issues in GenericKeyedObjectPool
    37235 2005-10-27 maj FIXE [pool] synchronization issues in StackKeyedObjectPool
    36719 2005-10-29 maj FIXE [pool] Some ObjectPool.borrowObject() implementations do ...
    33264 2005-10-29 nor FIXE [pool] GenericObjectPool is a LIFO, not a FIFO implementa...
    36904 2005-10-29 nor FIXE [pool] GenericKeyedObjectPool is a LIFO, not a FIFO imple...
    37428 2005-11-10 enh FIXE [pool] patch to remove GenericObjectPool's dep on Cursora...
    37431 2005-11-10 enh FIXE [pool] patch to remove GenericKeyedObjectPool's dep on Cu...
    37321 2005-11-16 min FIXE [pool] GenericObjectPool.Evictor._cancelled should to be ...
    37153 2006-02-06 enh WORK [pool] patch to use non-deprecated CursorableLinkedList f...
    38540 2006-02-06 nor DUPL [pool] Remove the use of the deprecated collections class...
    38541 2006-02-07 enh WORK [pool] Take into account the minIdle in the GenericObject...
    37109 2006-02-10 enh FIXE [Pool] Improvements to maven build
    30305 2006-02-11 enh LATE [pool] GenericKeyedObjectPool raises exception while dest...
    33949 2006-02-11 enh WONT [pool] genericKeyedObjectPool.borrowObject() calls activa...
    31900 2006-02-11 nor FIXE [pool] GenericObjectPool: TestWhileIdle is mutually exclu...
    37337 2006-02-12 min FIXE [pool] GenericObjectPool WHEN_EXHAUSTED_BLOCK behvior cou...
    35617 2006-02-12 maj FIXE [pool]NumActive goes to negative when the pool can't crea...
    38625 2006-02-14 enh FIXE [pool] GenericObjectPool currently in SVN isn't Java 1.3 ...
    33265 2006-02-14 min FIXE [pool] Number of tested objects in eviction runs of Gener...
    36581 2006-02-14 enh FIXE [pool] GenericObjectPool Evictor should be a TimerTask, n...
    35543 2006-02-14 min FIXE [pool][patch] Docs lie: not maxTotal negative for no limi...
    38649 2006-02-18 enh FIXE [pool] Generic[Keyed]ObjectPool.ObjectTimestampPair can b...
    38690 2006-02-18 min FIXE [pool] BaseObjectPool closed boolean field needs to be vo...
    38746 2006-02-22 enh FIXE [pool] indicate that ObjectPools.addObject may throw an U...
    38856 2006-03-06 maj DUPL [pool] Killed user connection causes the setautocomit to ...