dev@glassfish.java.net

Re: Custom asadmin sub-command questions

From: Ancoron Luciferis <ancoron.luciferis_at_googlemail.com>
Date: Thu, 23 Feb 2012 22:10:10 +0100

On 02/23/2012 09:52 AM, Sahoo wrote:
> On Thursday 23 February 2012 02:11 PM, Ancoron Luciferis wrote:
>> On 02/23/2012 09:18 AM, Sahoo wrote:
>>> On Thursday 23 February 2012 01:31 PM, Ancoron Luciferis wrote:
>>>> On 02/23/2012 02:39 AM, Sahoo wrote:
>>>>> No, HK2 does not handle bundle removal or updation very well. It can
>>>>> handle new bundles getting installed at runtime. So, don't update your
>>>>> hk2-jar at runtime; instead shutdown the system and restart. It's
>>>>> not a
>>>>> bug in HK2/OSGi bridge. I doubt we are going to address this - it
>>>>> requires deep changes in HK2 to refresh its internal objects when
>>>>> bundles get removed/updated.
>>>>>
>>>>> I don't know about the streaming to the console part. That seems
>>>>> like a
>>>>> question for admin folks.
>>>>>
>>>>> Sahoo
>>>>
>>>> Hi Sahoo,
>>>>
>>>> thank you for the insight.
>>>>
>>>> As a workaround, would it be possible to (un-)register HK2 services in
>>>> a programmatic way from OSGi bundles, e.g. using an activator or an
>>>> extender?
>>>>
>>> You have two choices:
>>> a) You can use Habitat object to unregister/register yourself HK2
>>> service.
>>> b) You could also expose your service as OSGi service with a
>>> component.name service property (set this to the name that you use while
>>> using looking up the HK2 service) and let it be automatically
>>> added/removed to/from the HK2 service registry as a named HK2 service.
>>>
>>> Sahoo
>>
>> Ah, thanx again. That's what I was hoping for. :)
>>
>> Btw. what's the best way to retrieve the habitat?
>>
> @Inject Habitat or look it up in OSGi Service registry.
>
> Sahoo

Thank you very much, that's what I would've tried. I assume that I
should be able to use the @OSGiService annotation for this as well?

Thanx,

        Ancoron