Apache camel 骆驼蓝图更新cfg文件属性值

Apache camel 骆驼蓝图更新cfg文件属性值,apache-camel,blueprint-osgi,Apache Camel,Blueprint Osgi,我们有一个每30秒有一个调度程序的路由,它从cfg属性文件中读取一个值。如果属性键值为“Y”,则我们需要执行某些过程。如果属性键值为“N”,则必须跳过该过程。 我们有一个管理web应用程序,通过tcp通信将值发送到驼峰路由 我的问题是,当从外部应用程序接收值时,我们必须更新camel路由中的cfg文件值,我们在camel路由中接收值,但更新我们得到的cfg属性文件 我创建了一个测试路由器作为参考 <route id="test-route-timer"> <fr

我们有一个每30秒有一个调度程序的路由,它从cfg属性文件中读取一个值。如果属性键值为“Y”,则我们需要执行某些过程。如果属性键值为“N”,则必须跳过该过程。 我们有一个管理web应用程序,通过tcp通信将值发送到驼峰路由

我的问题是,当从外部应用程序接收值时,我们必须更新camel路由中的cfg文件值,我们在camel路由中接收值,但更新我们得到的cfg属性文件

我创建了一个测试路由器作为参考

<route id="test-route-timer">
        <from uri="timer:foo?period=5s" />
        <setProperty propertyName="callInterfaceProcedure">
            <simple>{{call.interface.procedure}}</simple>
        </setProperty> 
        <log message="${property.callInterfaceProcedure}"/> 
        <setProperty propertyName="callInterfaceProcedure">
            <simple>N</simple>
        </setProperty> 
    </route>

{{call.interface.procedure}
N

在这种情况下请给出建议。

假设您的cfg以key=value格式保存问题,您可以通过设置正文将数据写入文件

<setBody>
  <simple>callInterfaceProcedure={{call.interface.procedure}}</simple>
</setBody>

callInterfaceProcedure={{call.interface.procedure}
然后可以使用文件组件写入文件,如

<to uri="file:<path cfg>?filename=myprooperties.cfg&append=true

谢谢。。我在一个类文件中写了同样的逻辑,但是你的答案更优雅,我将采用这个,谢谢。