2011-07-29 131 views
0

我想加载OSGi环境中的一个bundle的配置数据(FUSE ESB 4.3.1)。 Spring DM提供了配置管理的抽象,并允许读取etc文件夹中的属性文件。在OSGi中加载XML配置文件

我想要实现的是加载一个XML文件,因为我需要一个比简单属性文件更复杂的配置。一个例子可以是:

<measurements> 
    <measurementsList name="First"> 
    <measurement>First-1</measurement> 
    <measurement>First-2</measurement> 
    </measurementsList> 
    <measurementsList name="Second"> 
    <measurement>Second-1</measurement> 
    <measurement>Second-2</measurement> 
    <measurement>Second-3</measurement> 
    <measurement>Second-4</measurement> 
    </measurementsList> 
    ... 
</measurements> 

,然后分析它得到一个地图>其中关键是measurementsList的名称和值是测量的名称列表。

我该怎么做OSGi?我需要将我的文件放在哪里才能从某个包中访问?

最良好的祝愿, 斯特凡

回答

0

保存在单独的XML文件中的配置。将配置管理员管理的属性中的文件名或URL作为字符串值传递。在可配置对象中,打开文件并在其中读取/处理XML内容。

0

我会将XML文件放在servicemix下的etc文件夹下,并在spring DM config admin中传递相对路径。

<bean ...> 
    <osgix:managed-properties persistent-id="com.sample.your.config.location.path" /> 
    <property name="config-path" value="etc/config.xml"/> 
</bean> 

相对路径工作相对关ServiceMix的目录