在OSGi中加载XML配置文件

在OSGi中加载XML配置文件,xml,configuration,osgi,Xml,Configuration,Osgi,我想在OSGi环境(FUSE ESB 4.3.1)中加载捆绑包的配置数据。SpringDM提供了配置管理的抽象,并允许读取etc文件夹中的属性文件 我想要实现的是加载一个XML文件,因为我需要一个比简单属性文件更复杂的配置。例如: <measurements> <measurementsList name="First"> <measurement>First-1</measurement> <measurement>

我想在OSGi环境(FUSE ESB 4.3.1)中加载捆绑包的配置数据。SpringDM提供了配置管理的抽象,并允许读取etc文件夹中的属性文件

我想要实现的是加载一个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>

一级-1
第一-2
二一
二等兵
二三
二四
...
然后解析它得到一个Map>,其中键是measurementsList的名称,值是度量名称的列表

我如何在OSGi中做到这一点?我需要将文件放在哪里才能从某个捆绑包访问

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

我会将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目录下相对工作