如何从 OSGi 中的 BundleContext 获取 ComponentContext
How to get ComponentContext from BundleContext in OSGi
我有一个包含多个组件的 OSGi 包,我想 activate/deactivate 来自同一包中其他组件的组件。
我从下面的代码中得到 BundleContext
:
import aQute.bnd.annotation.component.Activate;
import aQute.bnd.annotation.component.Component;
import aQute.bnd.annotation.component.Deactivate;
@Activate
public void activate(Map<String, Object> properties) {
BundleContext bundleContext = FrameworkUtil.getBundle(MyComponent.class).getBundleContext();
}
但是我怎样才能得到 ComponentContext
以便我可以做 enableComponent
或 disableComponent
?
只需注入 ComponentContext。然后您可以从中获取 BundleContext 以及配置属性。
@Activate
public void activate(ComponentContext context)
我有一个包含多个组件的 OSGi 包,我想 activate/deactivate 来自同一包中其他组件的组件。
我从下面的代码中得到 BundleContext
:
import aQute.bnd.annotation.component.Activate;
import aQute.bnd.annotation.component.Component;
import aQute.bnd.annotation.component.Deactivate;
@Activate
public void activate(Map<String, Object> properties) {
BundleContext bundleContext = FrameworkUtil.getBundle(MyComponent.class).getBundleContext();
}
但是我怎样才能得到 ComponentContext
以便我可以做 enableComponent
或 disableComponent
?
只需注入 ComponentContext。然后您可以从中获取 BundleContext 以及配置属性。
@Activate
public void activate(ComponentContext context)