【发布时间】:2018-09-18 10:00:42
【问题描述】:
我正在使用 Osgi DS(在 AEM 环境中)。
我有一个由组件AImpl 提供的服务A,它可以但不必是活动的(这取决于其配置的存在)。
有些系统有其他系统没有,但它是预先确定的,并且在启动时就知道了。
现在我有了其他组件(比如说 BImpl),可以选择将其与 STATIC、OPTIONAL、GREEDY 引用类型一起使用。
现在,我如何确保 Bimpl 在启动期间首次初始化时在它处于活动状态的系统上获取它。 换句话说,在 AImpl 应该处于活动状态的系统上,如何确保 BImpl 总是在 AImpl 之后被初始化?
我不想避免 BImpl 和 AImpl 之间没有硬初始化依赖的情况,并且 BImpl 先初始化然后重新启动当 AImpl 在启动过程中最终被激活时。
如果可能的话,我想避免使用启动级别(AEM 中的用户级组件通常不建议使用非默认启动级别)。
【问题讨论】: