我有一个包含多个组件的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以便可以执行enableComponentdisableComponent

最佳答案

只需注入ComponentContext。然后,您可以从中获取BundleContext以及配置属性。

@Activate
public void activate(ComponentContext context)

10-07 15:27