Dobias van Buuren created FELIX-5426:
----------------------------------------
Summary: Remove callbacks aren't called for optional dependencies
in a "circular" dependency scenario
Key: FELIX-5426
URL: https://issues.apache.org/jira/browse/FELIX-5426
Project: Felix
Issue Type: Bug
Components: Dependency Manager
Affects Versions: org.apache.felix.dependencymanager-r8
Reporter: Dobias van Buuren
In some cases, the whiteboard pattern remove callbacks aren't called by the
depenency manager.
See attached test class. Here some sort of "cyclic" dependency is made between
'Shop' -> 'Item' -> 'Shop'.
See the log when starting and stopping a bundle with the attached
Activator.java for an example.
Some investigation pointed us to ComponentImpl line 1191:
{code}
if (dc.isRequired()) {
invokeCallbackSafe(dc, EventType.REMOVED, e);
}
{code}
When removing the condition for the required dependency, the REMOVED callbacks
are called!
Why is the above condition written in the ComponentImpl.java? Can you please
investigate this?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)