我有一个支持Spring的OSGi包。我想要这个包来导出一个工厂类型的OSGi服务,客户端软件可以用它来创建这个包中定义的应用程序上下文的多个实例。
默认情况下,Spring DM库包将自动扫描并从“META_INF / spring”下的任何Spring XML配置创建应用程序上下文的实例。为了避免这种情况,我将Spring XML配置文件移动到另一个文件夹下,然后尝试按工厂类的编程方式创建应用程序上下文。不幸的是,我遇到了捆绑类路径上不可用的Spring模式文件的问题。我真的不想在我的包中嵌入所需的Spring jar,只是为了访问这些模式。
是否有更简单的方法可以在OSGi环境下克隆Spring应用程序上下文?
答案 0 :(得分:1)
我不太详细了解您的问题,但如果您只是想从META-INF / spring以外的其他位置加载应用程序上下文,您可以使用“Spring-Context”在MANIFEST.MF文件中定义它,例如:对于根文件夹中的文件
Spring-Context: /application-context-core.xml,/application-context-osgi.xml
有关详细信息,请参阅documentation。