I'm using OSGI with equinox, and having a problem on a new component dependency. It has two services references, which are both marked as 'Unsatisfied'.
This would be a simple unsatisfied references problem, it it weren't for the fact there is another component which uses one of this references and it's satisfied, the the other is a component which is satisfied on the system as well.
I've tried to debug the 'AgentServiceImpl' class to identify if this could be a problem on it's activation, but since it's references are unsatisfied the methods of the class aren't even called.
No clue of what I'm doing wrong on this case, any suggestion of fixes or ways to tackle this problem would be much appreciated.
[update]
I've noticed the Service I depend has this configuration on it's component declaration:
policy = ConfigurationPolicy.REQUIRE, configurationPid = "com.rm.ums.ruleengine"
So, if i don't define this, it should not build the component. However, even retrieving the ConfigurationAdmin and setting this configuration the component still won't go up. And there is no error message on the console for this, shouldn't it display an error or a warning in this case, so the developer know this is happening and can handle it?
It turns out this was a service configuration problem.
This component I was trying to inject had it's policy as 'REQUIRE', which means it won't start unless you provide it's configuration. I was providing the configuration on another bundle using the ConfigurationAdmin, but this configuration was being bonded to my bundle instead of the one which needs it.
Once I configured not to bind the configuration to my bundle (or unbind it manually), the service started as expected.
Probably this could be avoided case there was a warn message on the log stating this happened :(