[ https://issues.apache.org/jira/browse/FELIX-5426?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15698630#comment-15698630 ]
Dobias van Buuren commented on FELIX-5426: ------------------------------------------ Hi Pierre, I did some quick tests and all seems to work fine now. Thanks for fixing this issue! > 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 > Assignee: Pierre De Rop > Attachments: Activator.java > > > 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)