[
https://issues.apache.org/jira/browse/FELIX-3754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13497295#comment-13497295
]
David Jencks commented on FELIX-3754:
-------------------------------------
OK, now I see what you want. I agree the behavior you want should work.
However your current implementation is unsatisfactory because it does expose
the implementation object to getService before activate returns.
> Services registered from within the activate method may not be bound
> --------------------------------------------------------------------
>
> Key: FELIX-3754
> URL: https://issues.apache.org/jira/browse/FELIX-3754
> Project: Felix
> Issue Type: Bug
> Components: Declarative Services (SCR)
> Affects Versions: scr-1.6.2
> Reporter: Felix Meschberger
> Assignee: Felix Meschberger
> Fix For: scr-1.6.4
>
>
> The Sling POST Servlet registers a number of services in the activate method
> and expects these services to be bound to itself. With SCR 1.6.0 this worked
> because each component instance had its dependency managers configured with
> its component instance.
> As of SCR 1.6.2 the DependencyManager instances are shared amongst all
> component instances and thus don't have a reference to the component
> instances. Instead actually bind, unbind and update services the
> DependencyManager instances call the respective component manager which then
> dispatches to the component instances.
> At the point in time when the activate method is called (in the
> ImmediateComponentManager.createComponentInstance method) the actual
> component instance is not "registered" with the component manager yet and
> thus a bind call while the activate method is called cannot be satisfied.
> To fix this, the component instance must be "registered" with the component
> manager before calling the activate method. If the activate method fails, the
> instance must of course be "unregistered" again.
--
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