Yes, of course it's possible, and it would take all of about 20 mins to
implement (if it's as easy as I think it is).  The question would be whether
the other committers feel that it's worthy of inclusion.  It sounds
reasonable enough to me, since we already added the containsService( Class )
method.  Why don't you fill out a JIRA request and we'll discuss.  You've
got my vote. :-)  If the others agree, I'll implement it myself for you
sometime by EOD today.  Ok?

-----Original Message-----
From: Igor Laberov [mailto:[EMAIL PROTECTED] 
Sent: Thursday, April 28, 2005 10:52 AM
To: [email protected]
Subject: RE: Multiple implementations for service


Now I see your point, it much more clear now :)

The only issue that is still opened  - ability to get list of services that
implement the same interface, something like that:
    public List getServices(Class interfaceClass){
        List l = (List) _servicePointsByInterface.get(interfaceClass);
        return l;
    }

Is it possible to add getServices(Class) to Registry interface?

On Thu, 2005-04-28 at 17:19, James Carman wrote:
> So, you want to allow the users to choose which implementation type 
> they want, right?  Then, define two different service points with the 
> same interface, but give them different ids (of course) corresponding 
> to the different implementations.  Another approach would involve 
> writing your own service model which chooses which implementation type 
> to instantiate using some sort of thread-local parameter (which you'd 
> have to set prior to invoking of course).
> 
> -----Original Message-----
> From: Igor Laberov [mailto:[EMAIL PROTECTED]
> Sent: Thursday, April 28, 2005 10:11 AM
> To: [email protected]
> Subject: Re: Multiple implementations for service
> 
> 
> These 2 options don't allow to have more than one service 
> implementation in the same time. Current Registry interface doesn't 
> allow this, because it have only
> getService() that returns single implementation only.
> 
> Is it possible to override Registry service?
> 
> Thanks,
> Igor
> 
> On Wed, 2005-04-27 at 14:35, Johan Lindquist wrote:
> > Two options - have two service points (same service interface is
> > allowed,
> > just name the service point will be have to differ) or use the override

> > functionality (http://jakarta.apache.org/hivemind/current/override.html)
> > 
> > Cheers,
> > 
> > Johan
> > 
> > On 27 Apr 2005 14:33:46 +0300, Igor Laberov <[EMAIL PROTECTED]>
> > wrote:
> > 
> > > Hi again,
> > > In our application we want to have multiple implementation classes
> > > for one service. So .xml file will look like <service-point 
> > > id="Part" />  <implementation service-id="Part">
> > >    <create-instance class="one.PartImpl"/>
> > > </implementation>
> > > <implementation service-id="Part">
> > >    <create-instance class="two.PartImpl"/>
> > > </implementation>
> > >
> > > At startup user will choose implementation that he want to work 
> > > with
> > > (and its id will be stored), and later user operations will be 
> > > associated with selected implementation.
> > >
> > > As I see from RegistryBuilder code, it is not allowed to have 2
> > > implementation. Can you point me to other way having several service 
> > > implementation? Or may be I can override some system service?
> > >
> > > Thank you,
> > > Igor Laberov
> > > Qlusters, Inc.
> > >
> > >
> > >
> > > ------------------------------------------------------------------
> > > --
> > > -
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> > 
> > 
> > 
> > --
> > you too?
> > 
> > --------------------------------------------------------------------
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to