Frank

Do try to be precise, it can be quite handy when developing software. ;-)

If you only want your service to start up if-and-when some service is
available, make a (mandatory) @Reference to that service.  If you want
something else, then be more precise as to what it is that you want ...

> I am sorry for not being sufficiently precise, I didn¹t mean annotation, I
> meant Component property
>
>       @Component(properties={"property1=value"})
>
>
> Based on the value of property1, I will check if the service component
> should be in the state ACTIVE or STATE_UNSATISFIED
>
> The actual use case is to check if a message queue was in a messaging
> middleware was previously setup. If not, the service (EventHandler) should
> not startup.
>
>
> On 5/5/15, 6:00 PM, "[email protected]"
> <[email protected]> wrote:
>
>>Send osgi-dev mailing list submissions to
>>      [email protected]
>>
>>To subscribe or unsubscribe via the World Wide Web, visit
>>      https://mail.osgi.org/mailman/listinfo/osgi-dev
>>or, via email, send a message with subject or body 'help' to
>>      [email protected]
>>
>>You can reach the person managing the list at
>>      [email protected]
>>
>>When replying, please edit your Subject line so it is more specific
>>than "Re: Contents of osgi-dev digest..."
>>
>>
>>Today's Topics:
>>
>>   1. Stop/disable OSGI component/service based on annotation
>>      (Frank Langel)
>>   2. Re: Stop/disable OSGI component/service based on        annotation
>>      (Neil Bartlett)
>>
>>
>>----------------------------------------------------------------------
>>
>>Message: 1
>>Date: Tue, 05 May 2015 11:03:39 +0200
>>From: Frank Langel <[email protected]>
>>To: <[email protected]>
>>Subject: [osgi-dev] Stop/disable OSGI component/service based on
>>      annotation
>>Message-ID: <d16e540b.242c7%[email protected]>
>>Content-Type: text/plain; charset="iso-8859-1"
>>
>>Hi,
>>
>>Here is the scenario I like to achieve
>>1. I create a OSGI component/service X that has an annotation A1
>>2. It has no dependencies or start/active methods
>>3. Based on the value of A1, I like this service to be available or
>> marked
>>as STATE_UNSATISFIED when starting up
>>How can I do this?
>>*  ServiceTracker is not the answer I think. It doesn?t provide the
>>ability
>>to access the component context that would allow me to disable the
>> service
>>again, plus I think its not a good idea as there might be dependencies to
>>be
>>managed
>>* I don?t want to add the logic in the activate method bc I want to apply
>>it
>>to all components with the annotation
>>* Introspection in Activator : I could not use the component model
>>directly,
>>but search my bundle for all classes with this annotation, and start the
>>service myself
>>* I cannot use service listener, as ServiceEvent does not expose an
>>possibly
>>to interfere when registering the service
>>* Are service hocks the answer ?
>>Thanks a lot in advance
>>Frank
>>
>>
>>
>>
>>
>>-------------- next part --------------
>>An HTML attachment was scrubbed...
>>URL:
>><http://mail.osgi.org/pipermail/osgi-dev/attachments/20150505/27605ced/att
>>achment-0001.html>
>>
>>------------------------------
>>
>>Message: 2
>>Date: Tue, 5 May 2015 10:08:31 +0100
>>From: Neil Bartlett <[email protected]>
>>To: OSGi Developer Mail List <[email protected]>
>>Subject: Re: [osgi-dev] Stop/disable OSGI component/service based on
>>      annotation
>>Message-ID: <[email protected]>
>>Content-Type: text/plain; charset="windows-1252"
>>
>>Hi Frank,
>>
>>Can you please clarify the meaning of point 3.
>>
>>?Based on the value of A1?? but this is an annotation on a class so is
>>there any possibility for it to change during runtime? It seems that
>>whatever the value of A1 is at compile time will determine forever
>>whether that component is active or inactive. That can?t be what you mean
>>though, so could you please elaborate a little further what you had in
>>mind?
>>
>>Regards,
>>Neil
>>
>>> On 5 May 2015, at 10:03, Frank Langel <[email protected]> wrote:
>>>
>>> Hi,
>>>
>>> Here is the scenario I like to achieve
>>> I create a OSGI component/service X that has an annotation A1
>>> It has no dependencies or start/active methods
>>> Based on the value of A1, I like this service to be available or marked
>>>as STATE_UNSATISFIED when starting up
>>> How can I do this?
>>>  ServiceTracker is not the answer I think. It doesn?t provide the
>>>ability to access the component context that would allow me to disable
>>>the service again, plus I think its not a good idea as there might be
>>>dependencies to be managed
>>> I don?t want to add the logic in the activate method bc I want to apply
>>>it to all components with the annotation
>>> Introspection in Activator : I could not use the component model
>>>directly, but search my bundle for all classes with this annotation, and
>>>start the service myself
>>> I cannot use service listener, as ServiceEvent does not expose an
>>>possibly to interfere when registering the service
>>> Are service hocks the answer ?
>>> Thanks a lot in advance
>>> Frank
>>>
>>>
>>>
>>> _______________________________________________
>>> OSGi Developer Mail List
>>> [email protected]
>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>
>>-------------- next part --------------
>>An HTML attachment was scrubbed...
>>URL:
>><http://mail.osgi.org/pipermail/osgi-dev/attachments/20150505/2be8b590/att
>>achment-0001.html>
>>
>>------------------------------
>>
>>_______________________________________________
>>OSGi Developer Mail List
>>[email protected]
>>https://mail.osgi.org/mailman/listinfo/osgi-dev
>>
>>End of osgi-dev Digest, Vol 103, Issue 2
>>****************************************
>
>
> _______________________________________________
> OSGi Developer Mail List
> [email protected]
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>


_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to