0

鉴于这种情况:

Bundle A:组件 1A(启用:false) Bundle B:组件 2B

如何从 Bundle B 或 Component 2B 启用组件 1A?

我试图通过使用componentContext来做到这一点,

dsContext.enableComponent("1A");

但它似乎只适用于同一个包中的服务。

4

1 回答 1

0

您使用了一种用于管理的机制,并且您似乎想在应用程序级别使用它。声明式服务应通过其依赖项或通过特定于域的方式启用/禁用。您不应该另一个参与者启用/禁用组件。使用这条路线,您可能会得到非常复杂的系统,因为很难控制时间和顺序。

从技术上讲,您应该使用 Apache Felix SCR 服务来控制 DS 的启用/禁用,不幸的是,这还没有标准化,因此需要 Apache Felix SCR 作为 DS 的实现。

如果您解释为什么要启用/禁用其他组件,则可能会为您指出更好的解决方案。

于 2013-09-24T13:44:27.533 回答