我想在OSGi环境中加载捆绑包的配置数据(FUSE ESB 4.3.1)。 Spring DM提供了Configuration Admin的抽象,允许读取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>
然后解析它以获取Map&gt;其中键是measurementsList的名称,value是测量名称的列表。
我怎样才能在OSGi中完成?我需要在哪里放置文件才能从某个捆绑包中访问它?
祝福, 斯蒂芬
答案 0 :(得分:0)
将配置保存在单独的XML文件中。将文件名或URL作为字符串值传递到Configuration Admin管理的属性中。在可配置对象中,打开文件并在那里读取/处理XML内容。
答案 1 :(得分: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>
relative path相对于servicemix目录工作