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] generics on KeyedObjectPool
Date Tue, 12 Oct 2010 16:01:09 GMT
> -----Original Message-----
> From: Phil Steitz [mailto:phil.steitz@gmail.com]
> Sent: Tuesday, October 12, 2010 08:17
> To: Commons Developers List
> Subject: Re: [POOL] generics on KeyedObjectPool
> 
> On 10/12/10 10:11 AM, Mark Thomas wrote:
> > On 12/10/2010 15:03, James Carman wrote:
> >> Is it really realistic to think that a pool would support multiple
> >> object types?  I've never really seen that in practice, but I guess it
> >> could happen.  Just seems weird to me.
> >
> > +1. I'm having a hard time coming up with a use case where those objects
> > wouldn't support some common interface. And if that interface is Object,
> > just declare a pool of type Object.
> >
> > Lets not make things more complicated than they need to be.
> >
> > Mark
> >
> >>
> +1 - another thing to consider is how supporting non-type-homogenous
> keyed pools complicates the contract of KeyedPoolableObjectFactory.
>   I have always seen KeyedObjectPools as really just partitioned
> pools with pooled instances differing (at most) on instance properties.
> 
> If we do get the requirement to support keyed pools with different
> types of objects by key, we can add a new pool that supports a keyed
> map of factories for the different instance types.

+1, yes, a specialized class (if and when we need it) feels like the right way to go.

Gary

> 
> Phil
> >>
> >> On Tue, Oct 12, 2010 at 9:49 AM, Simone Tripodi
> >> <simone.tripodi@gmail.com>  wrote:
> >>> Hi Brent!
> >>> sounds reasonably good, the only worry I've on it is about the method
> >>>
> >>>     <V>  V borrowObject(K key);
> >>>
> >>> because I don't know the type of V; speaking in therms of examples:
> >>>
> >>>     new MyKeyedObjectPoolImpl<String>().borrowObject("one") = ???
> >>>
> >>> So the APIs have to be improved following the Jame's suggestions.
> >>> Have a nice day!
> >>> Simo
> >>>
> >>> http://people.apache.org/~simonetripodi/
> >>> http://www.99soft.org/
> >>>
> >>>
> >>>
> >>> On Tue, Oct 12, 2010 at 3:29 PM, Brent Worden<brent.worden@gmail.com>
> wrote:
> >>>>   The javadoc on KeyedObjectPool states 'A keyed pool pools instances
of
> >>>> multiple types.'  However, the new parametrization on KeyedObjectPool
> allows
> >>>> for only a single instance type.
> >>>>
> >>>> To allow for pooling multiple typed instances, should the instance type
> >>>> parameter be removed from the interface declaration and placed on the
> >>>> relevant method declarations?  In other words, replace:
> >>>>
> >>>> public interface KeyedObjectPool<K,V>  {
> >>>> ...
> >>>> }
> >>>>
> >>>> with:
> >>>>
> >>>> public interface KeyedObjectPool<K>  {
> >>>>
> >>>> <V>  V borrowObject(K key);
> >>>>
> >>>> <V>  void invalidateObject(K key, V obj);
> >>>>
> >>>> <V>  void returnObject(K key, V obj);
> >>>> ...
> >>>> }
> >>>>
> >>>> Thoughts?
> >>>>
> >>>> Brent.
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >>>> For additional commands, e-mail: dev-help@commons.apache.org
> >>>>
> >>>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >>> For additional commands, e-mail: dev-help@commons.apache.org
> >>>
> >>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >> For additional commands, e-mail: dev-help@commons.apache.org
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> > For additional commands, e-mail: dev-help@commons.apache.org
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org


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


Mime
View raw message