如何从Blueprint XML for JBoss Fuse中的属性文件中读取值?
目前,我正在阅读如下,但我想从属性文件中读取。我可以使用Spring BridgePropertyPlaceholoder来实现吗?
<cm:property-placeholder persistent-id="connections" update-
strategy="reload">
<cm:default-properties>
<cm:property name="xyz" value="http://xx.xx.x.x:x0x0/xxx/yyy"/>
<cm:property name="pqr" value="http://xx.xx.x.x:x0x0/xxx/yyy"/>
<cm:property name="lmn" value="mnopqr"/>
</cm:default-properties>
</cm:property-placeholder>
答案 0 :(得分:1)
实际上,blueprint-ext
和blueprint-cm
从中扩展,支持属性文件的外部源,与defualt ConfigAdmin
使用的位置无关。
它允许你写一些类似的东西:
```
<cm:property-placeholder persistent-id="mytest" update-strategy="reload">
<cm:location>file:///whatever/my.properties</ext:location>
</cm:property-placeholder>
```
此处blueprint-cm
xsd中的Se引用:
http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.3.0.xsd
答案 1 :(得分:0)
你已经以正确的方式做到了。
persistent-id
表示JBoss Fuse的etc/
文件夹中的文件名。在您的情况下,它是etc/connections.cfg
。如果有人编辑文件,您也可以自动加载。
请注意cfg文件是属性文件。来自:https://docs.oracle.com/javase/tutorial/essential/environment/properties.html
<强>属性强>
属性是作为键/值对管理的配置值。在每对中,键和值都是字符串值。密钥标识并用于检索值,就像变量名用于检索变量的值一样。
如果您想100%确定,请参考其他一些规范:http://kajabity.com/kajabity-tools/java-properties-classes/the-java-properties-file-format/
所以你已经在阅读一个属性文件了。只是有不同的扩展名。
注意强>:
如果您想要阅读分散在文件系统中的文件来配置您的软件包,我强烈建议您不要这样做,您正在寻找麻烦。只有当你知道自己在做什么并且有理由这样做时,才能做 。