commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <GGreg...@seagullsoftware.com>
Subject RE: [pool] Reusing Config
Date Wed, 20 Oct 2010 17:43:35 GMT
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: ggregory@seagullsoftware.com
Web: seagull.rocketsoftware.comĀ  



> -----Original Message-----
> From: Gary Gregory [mailto:GGregory@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: ggregory@seagullsoftware.com<mailto:ggregory@seagullsoftware.com>
> Web: seagull.rocketsoftware.com<http://www.seagull.rocketsoftware.com/>
> 


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


Mime
View raw message