我有一个包含多个组件的OSGi包,我想激活/停用同一包中其他组件的组件。
我从下面的代码中获得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
?
答案 0 :(得分:5)
只需注入ComponentContext即可。然后,您可以从中获取BundleContext以及配置属性。
@Activate
public void activate(ComponentContext context)