我想指定属性文件的位置,OSGi蓝图属性占位符应从中读取属性值:
<cm:property-placeholder persistent-id="myBundle"/>
<bean
id="myCoolBean"
class="test.properties.MyCoolBean">
<property
name="echo"
value="${echo}"/>
</bean>
更新:配置felix.configadmin + felix.fileinstall对我有用。
我安装了:
org.apache.felix.configadmin-1.8.0.jar
org.apache.felix.fileinstall-3.1.4.jar
org.eclipse.equinox.cm-3.2.0.jar
我指定了VM参数-Dfelix.fileinstall.dir = C:/ eclipse / config
myBundle.cfg文件具有以下值:
回声=回声
蓝图中的属性占位符不适用于文件。相反,它使用永久性ID从ConfigurationAdmin服务检索配置。
因此,解决方案是将felix config admin与felixfileinstall一起安装。因此,将从文件夹中检索配置,并在ConfigurationAdmin中进行更新。
在apache karaf中,已经进行了配置,但是您也可以自己进行配置。请参阅我的karaf教程,了解有关config admin的信息。
如果您想搭配简单的felix,那么您可以看看karaf如何解决。因此,例如在config.properties中,有felix fileinstall的设置。在那里,您必须例如设置包含您的配置的目录。简而言之,这将是框架属性。
这是karaf设置的:
felix.fileinstall.enableConfigSave = true
felix.fileinstall.dir = ${karaf.etc}
felix.fileinstall.filter = .*\\.cfg
felix.fileinstall.poll = 1000
felix.fileinstall.noInitialDelay = true
felix.fileinstall.log.level = 3
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句