我有一个包含多个组件的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
? 最佳答案
只需注入ComponentContext。然后,您可以从中获取BundleContext以及配置属性。
@Activate
public void activate(ComponentContext context)