在Web应用程序中,我们有ServletContextListener
接口,其方法为:contextInitialized
,并在应用程序启动时调用。我想知道Apache Karaf
当OSGi
包开始时容器会调用某个方法,并且当包停止时,容器会调用一些stop方法。在Apache Karaf
中有类似的东西吗?
我也在我的捆绑包中使用Spring
,所以也许可以使用Spring
做到这一点?我尝试使用OSGi
和Apache Karaf
搜索信息,但未找到任何信息。
答案 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。
下