You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Guillaume Nodet (JIRA)" <ji...@apache.org> on 2016/10/13 08:39:20 UTC

[jira] [Comment Edited] (ARIES-1407) Service (un)registration listener not called anymore

    [ https://issues.apache.org/jira/browse/ARIES-1407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15571286#comment-15571286 ] 

Guillaume Nodet edited comment on ARIES-1407 at 10/13/16 8:38 AM:
------------------------------------------------------------------

I think so.  I reread the spec this morning and section 121.3.8 looks quite clear actually:

{code}
A service manager must first activate all its explicit dependencies but it must not activate. It must then ensure that a Service Factory object is registered as a service when that service is enabled. En- abled means that all of the mandatory service references in its dependencies are satisfied.
Once the Service Factory is registered, any bundle can get the corresponding service object. Such a request must activate the service manager, if it is not already activated. Activation of a service man- ager must obtain a component instance from the Blueprint Container for the service object and any registration listeners. The registration listeners are then actuated and notified of the initial state.
{code}

The clearly indicates that the registration listeners must not have been created before the service is actually retrieved by a bundle.


was (Author: gnt):
I think so.  I reread the spec this morning and section 121.3.8 looks quite clear actually:

{{A service manager must first activate all its explicit dependencies but it must not activate. It must then ensure that a Service Factory object is registered as a service when that service is enabled. En- abled means that all of the mandatory service references in its dependencies are satisfied.
Once the Service Factory is registered, any bundle can get the corresponding service object. Such a request must activate the service manager, if it is not already activated. Activation of a service man- ager must obtain a component instance from the Blueprint Container for the service object and any registration listeners. The registration listeners are then actuated and notified of the initial state.}}

The clearly indicates that the registration listeners must not have been created before the service is actually retrieved by a bundle.

> Service (un)registration listener not called anymore
> ----------------------------------------------------
>
>                 Key: ARIES-1407
>                 URL: https://issues.apache.org/jira/browse/ARIES-1407
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>         Environment: Servicemix 5.4.1
>            Reporter: metatech
>         Attachments: blueprint_registration_listener_fix_v2.patch
>
>
> Service (un)registration listeners are not called anymore since Blueprint 1.4.0.
> There are 2 booleans in the "ServiceRecipe" class which are tested against the wrong values.
> Please find a patch which makes them work again with Blueprint 1.4.3.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)