我面临以下问题:我正在使用Spring开发OSGi包,我想允许使用我的包的开发人员通过片段添加Spring上下文文件。
这些文件将用于配置我的Spring bean(没有Spring的类似现有示例: org.apache.log4j 的片段中的配置文件)。
我必须使用Spring框架有几个原因超出了这个问题的范围,但我不能使用以下指令
<import resource="..."/>
因为我甚至不确定某些片段在运行时是否可用(它是可选配置),并且我知道如果无法找到资源,Spring会抱怨。理想情况下,我想有这样的事情:
<import resource="my_default_configuration.xml"/>
<import resource="my_extended_configuration.xml"
doesNotComplainIfAbsent="true"
override="true"/>
你有任何想法可以帮助我吗?
提前致谢。
答案 0 :(得分:1)
我认为正确使用OSGi将是一种更好的方法。 Spring DM(AKA Gemini Blueprint)允许您通过OSGi导入和导出Spring bean。因此,您的捆绑包可能会尝试导入与特定接口匹配的所有bean,使用捆绑包的开发人员将从他们自己的捆绑包中导出。它仍然是可选的,因为如果开发人员选择不提供任何内容,你最终会在你的包中找到一个空列表。