Java 如何从JBoss Fuse的Blueprint XML中的属性文件中读取值?

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

如何在Blueprint XML for JBoss Fuse中读取属性文件中的值

目前,我正在阅读如下内容,但我想从属性文件中读取。我可以使用SpringBridgePropertyPlaceHoloder来实现它吗

<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
支持属性文件的外部源,与default
ConfigAdmin
使用的位置无关

它允许您编写以下内容:

```


file:///whatever/my.properties
```

Se在
blueprint cm
xsd中的参考:


实际上,
blueprint ext
和从其扩展的
blueprint cm
支持属性文件的外部源,与defalt
ConfigAdmin
使用的位置无关

它允许您编写以下内容:

```


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>