【发布时间】:2016-12-31 19:45:41
【问题描述】:
我有一个非蓝图包,它通过声明式服务注释提供服务。
我有另一个使用蓝图的捆绑包,其中包含此服务的可选引用,然后将此引用注入许多已声明的 bean。
在 Karaf 容器中启动,服务被注册,蓝图包可以访问它并按预期使用。服务提供包的配置可以更新,解除绑定,重新绑定到蓝图包,完美。
但是,当服务提供包重新启动或更新时,服务未绑定但永远不会重新绑定到使用包,因此蓝图引用持有的代理对象永远不会解析为服务引用。
有时重新启动蓝图包会解决此问题,但通常需要重新启动完整的框架才能使其再次工作。
当非蓝图 bean 通过声明式服务使用服务时,我没有得到相同的行为。
有没有人在混合使用 DS 和蓝图来提供/使用服务时遇到过类似的问题?
【问题讨论】:
标签: osgi apache-karaf blueprint-osgi declarative-services