Java 如何从JBoss Fuse的Blueprint XML中的属性文件中读取值?
如何在Blueprint XML for JBoss Fuse中读取属性文件中的值 目前,我正在阅读如下内容,但我想从属性文件中读取。我可以使用SpringBridgePropertyPlaceHoloder来实现它吗Java 如何从JBoss Fuse的Blueprint XML中的属性文件中读取值?,java,apache-camel,jbossfuse,Java,Apache Camel,Jbossfuse,如何在Blueprint XML for JBoss Fuse中读取属性文件中的值 目前,我正在阅读如下内容,但我想从属性文件中读取。我可以使用SpringBridgePropertyPlaceHoloder来实现它吗 <cm:property-placeholder persistent-id="connections" update- strategy="reload"> <cm:default-properties> <cm:property name="xy
<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>
您已经用正确的方法完成了
persistent id
表示JBoss Fuse的etc/
文件夹中的文件名。在您的例子中,它是etc/connections.cfg
。如果有人编辑文件,您还可以使用自动登录
请注意,cfg文件是属性文件。发件人:
属性属性是作为键/值对管理的配置值。在每对中,键和值都是字符串值。键标识并用于检索值,就像变量名用于检索变量的值一样 如果要100%确定,请选择其他一些规格: 因此,您已经在读取属性文件。只是换了个分机 注意:
如果您想读取分散在文件系统中的文件来配置捆绑包,我强烈建议您不要这样做,您正在寻找麻烦。只有当你知道自己在做什么,并且有理由这样做时,才可以这样做。你已经用正确的方式做了
persistent id
表示JBoss Fuse的etc/
文件夹中的文件名。在您的例子中,它是etc/connections.cfg
。如果有人编辑文件,您还可以使用自动登录
请注意,cfg文件是属性文件。发件人:
属性属性是作为键/值对管理的配置值。在每对中,键和值都是字符串值。键标识并用于检索值,就像变量名用于检索变量的值一样 如果要100%确定,请选择其他一些规格: 因此,您已经在读取属性文件。只是换了个分机 注意:
如果您想读取分散在文件系统中的文件来配置捆绑包,我强烈建议您不要这样做,您正在寻找麻烦。只有在您知道自己在做什么并且有理由这样做的情况下,才可以这样做。实际上,
blueprint ext
和从其扩展的blueprint cm
支持属性文件的外部源,与defaultConfigAdmin
使用的位置无关
它允许您编写以下内容:
```
file:///whatever/my.properties
```
Se在blueprint cm
xsd中的参考:
实际上,
blueprint ext
和从其扩展的blueprint cm
支持属性文件的外部源,与defaltConfigAdmin
使用的位置无关
它允许您编写以下内容:
```
file:///whatever/my.properties
```
Se在blueprint cm
xsd中的参考:
感谢亚历山德罗的清晰解释!!!是的,你是对的,我有一个名为connection.cfg的文件,它的值是为“xyz”、“pqr”和“lmn”设计的。但是我在这里有一个疑问,如果我在connection.cfg中为xyz、qr和lmn定义了值,那么它的意义是什么。@Mr.X如果
xyz
未在文件中定义,请使用
中提供的值。这是一个默认值。如果connection.cfg文件中存在相同的属性,则使用该文件中的值。感谢Alessandro提供的非常清楚的解释!!!是的,你是对的,我有一个名为connection.cfg的文件,它的值是为“xyz”、“pqr”和“lmn”设计的。但是我在这里有一个疑问,如果我在connection.cfg中为xyz、qr和lmn定义了值,那么它的意义是什么。@Mr.X如果xyz
未在文件中定义,请使用
中提供的值。这是一个默认值。如果connection.cfg文件中存在相同的属性,则使用该文件中的值。
<cm:property-placeholder persistent-id="mytest" update-strategy="reload">
<cm:location>file:///whatever/my.properties</ext:location>
</cm:property-placeholder>