Apache Karaf Bundle上下文监听器

时间:2012-09-05 09:25:52

标签: java spring osgi apache-karaf

在Web应用程序中,我们有ServletContextListener接口,其方法为:contextInitialized,并在应用程序启动时调用。我想知道Apache KarafOSGi包开始时容器会调用某个方法,并且当包停止时,容器会调用一些stop方法。在Apache Karaf中有类似的东西吗?

我也在我的捆绑包中使用Spring,所以也许可以使用Spring做到这一点?我尝试使用OSGiApache Karaf搜索信息,但未找到任何信息。

2 个答案:

答案 0 :(得分:3)

我认为您正在寻找BundleActivator

答案 1 :(得分:0)

既然你提到使用Spring,你也可以使用Spring-DM或Blueprint。 有了这个,你不需要Bundle Activator。如果你想使用带有Spring-DM的Spring,你只需要安装spring-dm功能。例如,只需键入功能:在您的Karaf控制台中安装spring-dm。有了这个,你就可以安装Spring-DM了,它会把所有弹簧配置放在你的捆绑的META-INF / spring下。 切换到Blueprint可以实现同样的目的。在这种情况下,您只需将blueprint.xml文件放在OSGI-INF / blueprint。