【发布时间】:2017-10-25 12:01:06
【问题描述】:
我将 OSGI 与 Equinox 一起使用,并且在新组件依赖项上遇到问题。它有两个服务引用,都标记为“不满意”。
这将是一个简单的不满足引用问题,这不是因为有另一个组件使用了其中一个引用并且它得到了满足,另一个是系统上也满足的组件。
我尝试调试“AgentServiceImpl”类以确定这是否可能是它的激活问题,但由于它的引用不满足,甚至没有调用该类的方法。
不知道我在这个案例中做错了什么,任何解决此问题的建议或方法将不胜感激。
[更新]
我注意到我所依赖的服务在它的组件声明中有这样的配置:
policy = ConfigurationPolicy.REQUIRE, configurationPid = "com.rm.ums.ruleengine"
所以,如果我不定义它,它就不应该构建组件。但是,即使检索 ConfigurationAdmin 并设置此配置,组件仍然不会上升。并且控制台上并没有出现错误信息,这种情况下不应该显示错误或警告,让开发者知道发生这种情况并可以处理吗?
【问题讨论】:
-
你有没有试过给不满足的模块一个较低的启动优先级?
-
我的意思是捆绑起始级别
-
我没有尝试以较低的启动优先级启动它(我们没有明确配置它),但是我尝试停止并再次启动这个包(在所有其他服务都可用之后) 并且它仍然将引用显示为“不满意”
-
我在没有这个包的情况下启动了容器,在所有包启动后我手动部署了这个。仍然与打印屏幕上的结果相同
标签: java reference dependencies osgi equinox