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]

Reply via email to