felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Angelo van der Sijpt (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-4168) Adapter services don't call callbacks for existing services when adding a required dependency after setup
Date Thu, 18 Jul 2013 07:24:51 GMT

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

Angelo van der Sijpt commented on FELIX-4168:

I agree that some additional documentation on the sure of instanceBound is helpful, probably
located somewhere near the description of callback methods. I now use setInstanceBound(true),
and that works fine.

That said, I don't think we should make an exception for dependencies which are already available:
I like the peace of mind that when I declare my dependencies correctly, the system will always
behave in the same way.
> Adapter services don't call callbacks for existing services when adding a required dependency
after setup
> ---------------------------------------------------------------------------------------------------------
>                 Key: FELIX-4168
>                 URL: https://issues.apache.org/jira/browse/FELIX-4168
>             Project: Felix
>          Issue Type: Bug
>          Components: Dependency Manager
>    Affects Versions: dependencymanager-3.1.0
>            Reporter: Angelo van der Sijpt
>         Attachments: FELIX_4168AdapterWithDynamicallyAddedDependencies.java
> I have the following scenario,
> - an adapter service comes up for some underlying service;
> - some time during start (either during init(), start(), or add()), I add a required
service dependency, with callbacks;
> - the service on which we depend, is already available.
> I would expect the callbacks get called during startup of the component. However, this
doesn't happen.
> I have been able to localize this a little further,
> - this only happens when the service is already available (i.e., services that show up
later work fine),
> - the service does not get pulled because of the new dependency (which is should),
> - it doesn't matter which callback function I register the depencies from,
> - it can be solved partially by setting the required dependencies to be instanceBound(),
but then still the service doesn't get pulled before a service becomes available.

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

View raw message