首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JBoss Fuse Camel路由编辑器:如何编写多播,执行请求-响应扇形调用,并将所有响应聚合为发送到的一条消息?

问JBoss Fuse Camel路由编辑器:如何编写多播,执行请求-响应扇形调用,并将所有响应聚合为发送到的一条消息?
EN

Stack Overflow用户
提问于 2015-08-06 15:37:34
回答 1查看 338关注 0票数 1

我正在使用“熔断器路线编辑器”(又名“熔断器集成编辑器”,也称为"JBoss Fuse Tooling“),例如这里。版本是“晚间构建版本8.0.0.v20150805-1820-H573-主版”。

我想创建一个具有多播的Camel路由,它将从发送消息的组件接收到的响应聚合起来,然后将聚合转发给单个最终接收方。这在骆驼中当然是可行的,因为多播strategyRef的参数之一具有这样的描述:

指用于将来自多播的答复组装为来自多播的单个传出消息的AggregationStrategy。默认情况下,Camel将使用最后一个回复作为传出消息。

但是,当我在camel-context.xml (编译并运行良好)中编写以下路由集时:

代码语言:javascript
复制
<route>
  <from uri="direct:a"/>
  <setExchangePattern pattern="InOut"/>
  <multicast strategyRef="x">
    <to uri="direct:b"/>
    <to uri="direct:c"/>
  </multicast>
  <log message="This flow works!"/>
  <to uri="mock:p"/>
</route>

<route>
  <from uri="direct:b"/>
  <to uri="mock:q"/>
</route>

<route>
  <from uri="direct:c"/>
  <to uri="mock:r"/>
</route>

然后单击以转到可视化编辑器,它将生成以下(不正确)图片:

​

​

当我切换回XML编辑时,我的路由会自动更改为:

代码语言:javascript
复制
<route>
  <from uri="direct:a"/>
  <setExchangePattern pattern="InOut"/>
  <log message="This flow works!"/>
  <to uri="mock:p"/>
</route>
<route>
  <from uri="direct:b"/>
  <to uri="mock:q"/>
</route>
<route>
  <from uri="direct:c"/>
  <to uri="mock:r"/>
</route>

当我再一次切换到编辑时,我得到了这样的图片:

​

​

这似乎是编辑器中的一个bug,但也许我做错了什么?

非常感谢!

编辑:

我们发现,这确实是一个问题记录与Fuse Camel编辑器,但应该已经修复在7.1版的工具。

EN

回答 1

Stack Overflow用户

发布于 2015-08-07 07:14:57

这似乎是编辑器中的一个bug。谢谢你的报道。我在吉拉重开了原版。你可以跟踪那里的进展。

拉尔斯

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31860032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档