Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
org.apache.felix.dependencymanager-r8
-
None
-
None
Description
If you have multiple aspects on a service with interface X and one of the aspects with a lower rank is removed, the service requiring service X does not get the swap callback.
See the attached Activator with example code.
The swap method is not called when 'aspect1' is removed.
Actual output of running the activator:
Add: XImpl Swap old: XImpl Swap new: Aspect1 Swap old: Aspect1 Swap new: Aspect2 Swap old: Aspect2 Swap new: XImpl
I can understand why swap is not called, because for ServiceRequiringX Aspect1 does not get really 'swapped' (the service stays Aspect2) But is there any way to find out this is happening?