1

我面临以下问题:我正在使用 Spring 开发 OSGi 包,我希望允许将使用我的包的开发人员通过片段添加 Spring 上下文文件。

这些文件将用于配置我的 Spring beans(一个类似的没有 Spring 的现有示例:org.apache.log4j片段中的配置文件)。

我必须使用 Spring 框架有几个原因超出了这个问题的范围,但我不能使用以下指令

<import resource="..."/>

因为我什至不确定某些片段在运行时是否可用(它是可选配置),而且我知道如果找不到资源,Spring 会抱怨。理想情况下,我想要这样的东西:

<import resource="my_default_configuration.xml"/>
<import resource="my_extended_configuration.xml"
        doesNotComplainIfAbsent="true"
        override="true"/>

你有什么想法可以帮助我吗?

提前致谢。

4

1 回答 1

1

我认为正确使用 OSGi 会是一种更好的方法。Spring DM(AKA Gemini Blueprint)允许您通过 OSGi 导入和导出 Spring bean。因此,您的包可以尝试导入与特定接口匹配的所有 bean,使用您的包的开发人员将从他们自己的包中导出。它仍然是可选的,因为如果开发人员选择不提供任何列表,您最终会在捆绑包中得到一个空列表。

于 2012-07-27T19:45:39.843 回答