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]

Reply via email to