[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[equinox-dev] Unclear warning in DS when a service component provides inexisting/unimplemented interface

We are using declarative services and we came across the following situation. There are two components, A and B. A provides an interface and B references this interface. If the interface which A provides does not exist, or is not implemented, when the framework tries to create an instance of component B, a warning that there is probably a circular dependancy is logged. This does not help to find the real problem - that the interface does not exist and there is no such service.
In ComponentReference.getMethod(...), if the result of the call InstanceProcess.staticRef.getService(...) is null, then it is assumed that serviceObject cannot be created because of circularity. But InstanceProcess.staticRef.getService(...) returns null both when there is circularity and when the service object cannot be retrieved from the bundle context.
Also, if the component state is checked with the component command, it is Satisfied, saying in the dynamic information part that all references of the component are satisfied.
Is this the intended behavior of DS?
Kind regards,
Lazar Kirchev