Apache camel 骆驼蓝图更新cfg文件属性值
我们有一个每30秒有一个调度程序的路由,它从cfg属性文件中读取一个值。如果属性键值为“Y”,则我们需要执行某些过程。如果属性键值为“N”,则必须跳过该过程。 我们有一个管理web应用程序,通过tcp通信将值发送到驼峰路由 我的问题是,当从外部应用程序接收值时,我们必须更新camel路由中的cfg文件值,我们在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
<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
谢谢。。我在一个类文件中写了同样的逻辑,但是你的答案更优雅,我将采用这个,谢谢。