About the dynamic-priority policy...

I know that iPOJO registers the service automatically, so, how can I set the
service rank?



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

Reply via email to