【发布时间】:2011-05-07 20:47:51
【问题描述】:
我有一个支持 Spring 的 OSGi 包。我希望这个包导出一个工厂类型的 OSGi 服务,客户端软件可以使用它来创建这个包中定义的应用程序上下文的多个实例。
默认情况下,Spring DM 库包会自动扫描并根据“META_INF/spring”下的任何 Spring XML 配置创建应用程序上下文的实例。为了避免这种情况,我将 Spring XML 配置文件移到了不同的文件夹下,然后尝试根据工厂类的需要以编程方式创建应用程序上下文。不幸的是,我遇到了捆绑类路径上不可用的 Spring 模式文件的问题。我真的不想在我的包中嵌入所需的 Spring jar 来访问这些模式。
有没有更简单的方法可以在 OSGi 环境下克隆 Spring 应用程序上下文?
【问题讨论】:
-
这个“工厂型OSGi服务”是如何使用的?是像 myOsgiService.newInstance() 一样,还是在配置文件中配置服务实例,让客户端引用?