当前位置: 首页 > 知识库问答 >
问题:

用xml中配置文件的属性替换uri

奚英朗
2023-03-14

如何用配置文件myprops中的文本替换uri。cfg?

<route id="camel-http-proxy2">
   <from uri="jetty://http://127.0.0.1:5555/mock"/>
</route>

myprops.cfg:

myuri=http://127.0.0.1:555/mock

我的尝试:

<route id="camel-http-proxy2">
   <from uri="jetty://${myuri}"/>
</route>

然后骆驼按原样读取uri,它不会用属性的值替换它。
另一个尝试:

<endpoint id="input1" uri="jetty//${myuri}"/>

<route id="camel-http-proxy2">
  <from uri="ref:input1"/>
</route>

错误:

组织。osgi。服务蓝图容器ComponentDefinitionException:无法验证xml组织。xml。萨克斯。SAXParseException:cvc复杂类型。2.4.a: 发现以元素“{”开头的内容无效http://camel.apache.org/schema/blueprint“:终结点}”。其中一个{”http://camel.apache.org/schema/blueprint应为“:route}”。

共有2个答案

韶浩皛
2023-03-14

您需要在属性占位符标记中添加配置文件。

<cm:property-placeholder id="myblueprint.placeholder" persistent-id="myprops">

然后,您可以将该属性引用为${properties:myuri}或{{myuri}}}

东郭远航
2023-03-14

答案是:

<route id="camel-http-proxy2">
  <from uri="jetty://{{myuri}}"/>
</route>

我想camel的文档没有更新。

 类似资料:
  • 我需要使用属性名称替换xml文件中的属性值。 前任: 我有一个替换此值的目标。i、 e“默认值”。如果用户为属性测试名称指定了错误的值,则可以多次运行此目标。用户可以使用正确的值重试运行目标。因此,我不能使用正则表达式替换。我只能依靠物业名称。有没有一种方法可以在ant中使用属性值的名称来替换属性值?

  • 我正在使用log4j2进行一个项目,我的log4j2中有一些值。可配置的属性。该项目还将包括其他组件的配置文件。理想情况下,我希望将所有配置保存在一个地方,以便能够在同一个文件中为log4j设置那些可配置的值,这样我就不会有两个不同的地方更改配置值(例如,包括环境变量)。 我在这方面找到的方法并不理想,比如让我的项目的其他部分从主配置文件中读取值,并将它们放入系统变量中,由log4j获取,因为我希

  • 在将项目安装到(本地)maven存储库中时,我想用当前的实际值替换所有属性占位符,这有可能吗? 总之,我试图在maven中创建一个可定制的项目版本,以解决一些具有可传递依赖关系的问题。 这是我的最小化pom。xml: 在“mvn清理安装”之后,我希望在本地maven存储库中有“~/.m2/repository/com/foo/T/TEST/T-TEST.pom”以下内容: 因此,在将项目安装到ma

  • 问题内容: 开始进行log4j配置的最简单方法是什么? 问题答案: 将名为的文件放在类路径的根目录中: 不需要什么了。Log4j将发现它并进行自我配置。

  • 我的Spring boot应用程序中有以下文件应用程序属性文件。所有属性文件都位于src/main/resources文件夹中,Spring boot版本为2.1.6 application.propertiesapplication-dev.propertiesapplication-tst.properties 应用属性应用。name={app.name}app。common=common v