Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
There is code duplication in configuration code.
I'd like to track an experiment here.
> ----Original Message----
> From: Gary Gregory GGregory@seagullsoftware.com
> Sent: Wednesday, October 20, 2010 10:44
> To: Commons Developers List
> Subject: RE: [pool] Reusing Config
>
> 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 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<ggregory@seagullsoftware.com>
> > Web: seagull.rocketsoftware.com<http://www.seagull.rocketsoftware.com/>
> >
>
Attachments
Attachments
Issue Links
- blocks
-
POOL-172 Add JMX (MBean) management and monitoring
-
- Closed
-