You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2012/11/05 08:01:13 UTC

[jira] [Commented] (FELIX-3744) [DS] Component should set implementation object before propagating changed service properties

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

Felix Meschberger commented on FELIX-3744:
------------------------------------------

Is this a release blocker ?

On the implementation: This looks tricky because the properties are updated in the createImplementationObject and disposeImplementationObject methods, resp., while the fields are set in the callers -- and not all callers to the same handling.

Now, the disposeImplementationObject method could just return the service properties to be set. But the createImplementationObject returns the service object and so cannot easily return the properties.

One option would be to enhance the MethodResult object with the component reference and the methods return MethodResult. This would convey all we need but isn't this breaching some encapsulation barrier ? (Though it remains in the same classe)
                
> [DS] Component should set implementation object before propagating changed service properties
> ---------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3744
>                 URL: https://issues.apache.org/jira/browse/FELIX-3744
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-1.6.2
>            Reporter: David Jencks
>            Assignee: David Jencks
>             Fix For: scr-1.6.2
>
>
> A component needs to set its implementation object before propagating the service property changes from the activate method.  Otherwise the new service properties could satisfy a target filter and result in a getService() request before the implementation object is set but after it has been created.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira