【发布时间】:2021-01-15 10:53:58
【问题描述】:
所以我想要做的是使用来自和端点的消息,该端点存储在一个变量中,比如 TempVar(如下),位于路由的“from:”部分。
(通常我只会为每个“从”端点添加一个路由,但在这个特定的场景中,我需要将所有逻辑都包含在一个路由中。)
我打算为在 <.. stuff ..> 部分完成的每条消息更改变量“TempVar”中的值,目的是为“来自”实现一种负载平衡器循环样式:" 部分
类似这样的:
<camelContext>
.. ..
<route>
<from uri="{{TempVar}}:queue:MY.QUEUENAME?mapJmsMessage=True&concurrentConsumers=1"/>
<.. stuff ..>
<to uri="file:/dev/?allowNullBody=true&autoCreate=false&fileExist=append&fileName=null"/>
</route>
.. ..
</camelContext>
此路由基本上消耗给定端点上队列的可用消息并将它们转发到“dev/null”
我尝试直接调用自定义创建的 bean 中的值而不是“TempVar”解决方案,在该 bean 中我操作 var 中的值(在骆驼上下文之外声明)但这会抛出: “原因:java.lang.UnsupportedOperationException:您不能从 bean 端点消费”
PS!我们不是使用 java 代码来编写路由,而是使用“蓝图”
有没有人对如何在“from:”中使用替换变量(如上例所示)或“from:”部分的 RR 负载均衡器类型逻辑的不同方法有很好的建议?
兄弟莫拉
【问题讨论】:
标签: routes apache-camel apache-karaf blueprint