In the same department, I see the following ivars:

lifo : boolean
maxActive : int
maxIdle : int
maxTotal : int
maxWait : long
minEvictableIdleTimeMillis : long
minIdle : int
numTestsPerEvictionRun : int
testOnBorrow : boolean
testOnReturn : boolean
testWhileIdle : boolean
timeBetweenEvictionRunsMillis : long
whenExhaustedAction : WhenExhaustedAction

defined in four classes:

GenericKeyedObjectPool
GenericKeyedObjectPoolFactory
GenericObjectPool
GenericObjectPoolFactory

Which feels to me like a missed opportunity to avoid duplication. 

Is making one ivar private or final or volatile be applied to all four classes?

We could:

Use a config object instead of the 13 ivars.
Or a common superclass then we can consider if it should hold the ivar list or 
a Config object.

Would it be too weird to have a common super class for BaseObjectPool and 
BasePoolableObjectFactory for example?

Gary Gregory
Senior Software Engineer
Rocket Software
3340 Peachtree Road, Suite 820 . Atlanta, GA 30326 . USA
Tel: +1.404.760.1560
Email: ggreg...@seagullsoftware.com
Web: seagull.rocketsoftware.comĀ  



> -----Original Message-----
> From: Gary Gregory [mailto:ggreg...@seagullsoftware.com]
> Sent: Wednesday, October 20, 2010 10:29
> To: Commons Developers List
> Subject: [pool] Reusing Config
> 
> Hi All:
> 
> I think this came up recently. Any thoughts or plans on extracting the Config
> class out of GenericKeyedObjectPool and GenericObjectPool so it can be reused.
> The constants for default values could then also be moved to Config.
> Gary Gregory
> Senior Software Engineer
> Rocket Software
> 3340 Peachtree Road, Suite 820 * Atlanta, GA 30326 * USA
> Tel: +1.404.760.1560
> Email: ggreg...@seagullsoftware.com<mailto:ggreg...@seagullsoftware.com>
> Web: seagull.rocketsoftware.com<http://www.seagull.rocketsoftware.com/>
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to