7

我正在尝试将 OSGI 蓝图 XML 文件导入另一个 OSGi 蓝图 XML 文件。

例如:blueprint1.xml:

<?xml version="1.0" encoding="UTF-8"?>
<blueprint ....>
    <bean id="myBean1" class="com.company.Class1"/>
    <bean id="myBean2" class="com.company.Class2"/>
</blueprint>
</xml>

蓝图2.xml:

<?xml version="1.0" encoding="UTF-8"?>
<blueprint ....>
    <!-- DOES NOT WORK -->
    <import resource="blueprint1.xml" />
</blueprint>

春天的<import>作品,而不是蓝图。

有人知道在 OSGi 蓝图 XML 文件中执行此操作的方法吗?

4

2 回答 2

10

显然,蓝图中目前无法使用类似 Spring 的导入。

但是,如果这些文件在同一个 OSGi 包中,那么它们就在同一个上下文中,并且可以从其他蓝图文件中使用。

另外,请参见此处: http: //fusesource.com/forums/message.jspa?messageID=15091#15091

于 2012-08-09T07:05:50.390 回答
0

如果您使用的是 Gemini Blueprint(以前称为 Spring DM),您可以简单地告诉它加载这两个文件,并且基本上将它们视为一个大文件:

在没有 Spring-Context 标头的情况下,扩展程序期望 META-INF/spring 文件夹中的每个“.xml”文件都是有效的 Spring 配置文件 [...]。

它还/OSGI-INF以相同的方式处理任何 xml 文件。

于 2013-07-04T12:06:38.810 回答