Hi, On 12.09.2011, at 16:17, Shai Amar wrote:
> About the dynamic-priority policy... > > I know that iPOJO registers the service automatically, so, how can I set the > service rank? > Just declare and a set a service property named: service.ranking Regards, Clement > > > Regards > Shai Amar > > On Thu, Aug 11, 2011 at 9:04 PM, Richard S. Hall <[email protected]>wrote: > >> On 8/11/11 2:28 PM, Shai Amar wrote: >> >>> Hi Richard >>> >>> I see. In other words, if I'll use the dynamic priority binding policy >>> (instead of just set the service ranking) I'll get the current ranking of >>> the service? Is that what you meant? >>> >> >> No. A service depending has one of three binding policies associated with >> it, which dictates how iPOJO manages it and the associated requiring >> component instance: >> >> 1. static - destroys component instance if dependent service goes away, >> so effectively the component instance never sees service dynamism. >> 2. dynamic - if a dependent service goes away iPOJO swaps in a new one >> if available, so component instance actually sees service dynamism; >> however, the service dependency won't change unless the service goes >> away. >> 3. dynamic-priority - if a higher ranked service appears it will >> replace any lower ranking service already injected into the >> component, so component instance sees dynamism if a service goes >> away AND if a higher ranking service appears. >> >> By default the binding policy is dynamic, you'll need to set it to >> dynamic-priority. Check here: >> >> >> http://felix.apache.org/site/**service-requirement-handler.**html<http://felix.apache.org/site/service-requirement-handler.html> >> >> -> richard >> >> >> >>> Regards >>> Shai Amar >>> >>> >>> >>> >>> On Thu, Aug 11, 2011 at 4:37 PM, Richard S. Hall<[email protected]>** >>> wrote: >>> >>> You'll have to use dynamic priority binding policy for the dependency so >>>> that you are automatically switched based on service ranking...if you >>>> just >>>> use dynamic binding policy for the dependency, then you'll just get the >>>> highest ranking at the time of injection. >>>> >>>> -> richard >>>> >>>> >>>> On 8/11/11 8:54 AM, Shai Amar wrote: >>>> >>>> Thanks! >>>>> It seems like an elegant solution. :) >>>>> >>>>> Regards >>>>> Shai Amar >>>>> >>>>> On Thu, Aug 11, 2011 at 3:46 PM,<[email protected]> wrote: >>>>> >>>>> I think you would want to utilize the service ranking: >>>>> >>>>>> When registering a service object, a >>>>>> bundle may optionally specify a >>>>>> service.ranking number as one of >>>>>> the service object's properties. If >>>>>> multiple qualifying service interfaces >>>>>> exist, a service with the highest >>>>>> SERVICE_RANKING number, or >>>>>> when equal to the lowest >>>>>> SERVICE_ID, determines which service >>>>>> object is returned by the Framework. >>>>>> >>>>>> Make Aa the highest rank, Ab after that. That way it will get the Aa >>>>>> service if available, Ab if not. >>>>>> >>>>>> David Humeniuk >>>>>> >>>>>> >>>>>> -----Original Message----- >>>>>> From: Shai Amar [mailto:shai.amar@krynnlance.****com< >>>>>> [email protected]> >>>>>> ] >>>>>> Sent: Thursday, August 11, 2011 8:42 AM >>>>>> To: [email protected] >>>>>> Subject: Re: iPOJO: How to use an alternate service when the current >>>>>> service is unavailable? >>>>>> >>>>>> Hi David >>>>>> >>>>>> Still the question remains. >>>>>> The log service is an example. >>>>>> >>>>>> If I have 2 service implementations Aa and Ab of interface A. >>>>>> If I have a client that uses Aa and can use Ab. In case service Aa is >>>>>> unavailable, is it possible via iPOJO to switch automatically to >>>>>> service >>>>>> Ab? >>>>>> >>>>>> Regards >>>>>> Shai Amar >>>>>> >>>>>> On Thu, Aug 11, 2011 at 3:22 PM,<[email protected]> wrote: >>>>>> >>>>>> Sounds like you should be using the LogReaderService for those >>>>>> >>>>>>> implementations not the LogService. You can use the Felix Log Service >>>>>>> bundle to get a LogService implementation and Log Service APIs. >>>>>>> >>>>>>> David Humeniuk >>>>>>> >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: Shai Amar [mailto:shai.amar@krynnlance.****com< >>>>>>> [email protected]> >>>>>>> ] >>>>>>> Sent: Thursday, August 11, 2011 4:49 AM >>>>>>> To: [email protected] >>>>>>> Subject: iPOJO: How to use an alternate service when the current >>>>>>> >>>>>>> service >>>>>> >>>>>> is unavailable? >>>>>>> >>>>>>> Hi all >>>>>>> >>>>>>> I have the following situation: >>>>>>> I have 2 Log service implementations implementing *LogService* >>>>>>> interface: >>>>>>> >>>>>>> 1. *Console* log implementation >>>>>>> 2. *RotatingFile* log implementation >>>>>>> >>>>>>> I want that a service SOME_SERVICE will use the *Console* log >>>>>>> implementation >>>>>>> service as a default, and if it is unavailable, SOME_SERVICE will use >>>>>>> the * >>>>>>> RotatingFile* log implementation service instead. >>>>>>> >>>>>>> Is it possible to do that? >>>>>>> If it does, how can I do that? >>>>>>> >>>>>>> -- >>>>>>> Regards >>>>>>> >>>>>>> Shai Amar >>>>>>> >>>>>>> Technologies manager, Founder >>>>>>> Krynnlance >>>>>>> www.krynnlance.com >>>>>>> www.backapps.com >>>>>>> >>>>>>> ------------------------------****----------------------------**--** >>>>>>> --------- >>>>>>> To unsubscribe, e-mail: >>>>>>> users-unsubscribe@felix.**apac**he.org<http://apache.org> >>>>>>> <users-unsubscribe@**felix.apache.org<[email protected]> >>>>>>>> >>>>>>> >>>>>>> For additional commands, e-mail: [email protected] >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>> Regards >>>>>> >>>>>> Shai Amar >>>>>> >>>>>> Technologies manager, Founder >>>>>> Krynnlance >>>>>> www.krynnlance.com >>>>>> www.backapps.com >>>>>> >>>>>> ------------------------------****----------------------------**--** >>>>>> --------- >>>>>> To unsubscribe, e-mail: >>>>>> users-unsubscribe@felix.**apac**he.org<http://apache.org> >>>>>> <users-unsubscribe@**felix.apache.org<[email protected]> >>>>>>> >>>>>> >>>>>> For additional commands, e-mail: [email protected] >>>>>> >>>>>> >>>>>> >>>>>> ------------------------------****----------------------------** >>>> --**--------- >>>> To unsubscribe, e-mail: >>>> users-unsubscribe@felix.**apac**he.org<http://apache.org> >>>> <users-unsubscribe@**felix.apache.org<[email protected]> >>>>> >>>> >>>> For additional commands, e-mail: [email protected] >>>> >>>> >>>> >>> > > > -- > Regards > > Shai Amar > > Technologies manager, Founder > Krynnlance > www.krynnlance.com > www.backapps.com --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

