Hi Frank

you can use the required configuration policy. I think this is something like

   @Component(configurationPolicy=ConfigurationPolicy.REQUIRE)

So the component is only activated if actual configuration exists for it

Regards
Felix


> Am 05.05.2015 um 18:16 schrieb Frank Langel <fr...@frankjlangel.com>:
> 
> 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, "osgi-dev-requ...@mail.osgi.org"
> <osgi-dev-requ...@mail.osgi.org> wrote:
> 
>> Send osgi-dev mailing list submissions to
>>      osgi-dev@mail.osgi.org
>> 
>> 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
>>      osgi-dev-requ...@mail.osgi.org
>> 
>> You can reach the person managing the list at
>>      osgi-dev-ow...@mail.osgi.org
>> 
>> 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 <fr...@frankjlangel.com>
>> To: <osgi-dev@mail.osgi.org>
>> Subject: [osgi-dev] Stop/disable OSGI component/service based on
>>      annotation
>> Message-ID: <d16e540b.242c7%fr...@frankjlangel.com>
>> 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 <njbartl...@gmail.com>
>> To: OSGi Developer Mail List <osgi-dev@mail.osgi.org>
>> Subject: Re: [osgi-dev] Stop/disable OSGI component/service based on
>>      annotation
>> Message-ID: <f014f5c5-b64e-48e5-876a-a98b9fa29...@gmail.com>
>> 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 <fr...@frankjlangel.com> 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
>>> osgi-dev@mail.osgi.org
>>> 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
>> osgi-dev@mail.osgi.org
>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>> 
>> End of osgi-dev Digest, Vol 103, Issue 2
>> ****************************************
> 
> 
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org
> https://mail.osgi.org/mailman/listinfo/osgi-dev

_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to