Karaf如何知道要加载哪些弹簧配置文件



在过去的几个月里,我一直在研究基于OSGI和Spring的应用程序,直到现在我才注意到,我没有指定要为Spring配置加载哪些XML文件。那么,Karaf是如何知道要加载哪些文件的呢?

我的项目是基于Maven的,它使用Maven捆绑包插件来构建OSGI捆绑包。由于该项目是基于maven的,所以它遵循如下简单的maven目录结构。

src/
    main/java/
    main/resources/ ---/here I'm keeping my XML configuratoin files.
pom.xml

Karaf在内部使用spring动态模块(spring-dm)来处理基于spring的bundle。它会查看捆绑包中的以下位置,以检查配置文件。

META-INF/MANIFEST.MF (if Spring-Context attribute is present)
META-INF/spring (if it contains XML files)

参考http://uniqueexperiments.blogspot.com/2015/09/spring-osgi-bundle-how-does-karaf-know.html

所以简单的答案是它有预定义的位置,如果你不把文件放在那里,它就不会加载它们。

最新更新