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]
