我正在尝试在我的全新捆绑软件中提供一个功能,该功能在启动Apache Karaf容器时会触发一次。
Bundle中的主类如下:
@Component(service = BrandNewBundle.class)
public class BrandNewBundle {
....
@Activate
protected void activate(ComponentContext myComponentContext) {
LOG.info("Brand new bundle started.");
}
}
在karaf控制台中,我将捆绑软件状态显示为Active
。但是在日志中,没有看到我尝试记录的消息。
一些信息:
osgi.cmpn
和slf4j-api
是我在pom.xml
中的依赖项,到目前为止没有其他内容。bnd.bnd
文件我已经阅读了Apache Felix Service Component Runtime (SCR)
页面。与这里提到的不同,我的Apache Felix Service Component Runtime (SCR)
是自动生成的。我不知道如何进一步调试。
总而言之,问题是,如何实际触发我的OSGI-INF/....xml
函数?
这可能是karaf中的经典问题。您需要安装scr功能。
activate