首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WSO2 ESB 5中序列的并行执行

WSO2 ESB 5中序列的并行执行
EN

Stack Overflow用户
提问于 2017-03-02 15:07:41
回答 2查看 232关注 0票数 0

在我的应用程序中,我使用一些中介器(md-1,2,3,4和md,b,c) (调用、脚本、有效负载工厂、数据映射器、迭代器、开关、充实等等)来完成任务。目前,介体md,b,c是在md-1,2,3,4之后依次进行的.md返回的有效载荷丰富了md-4返回的有效载荷。

但是为了提高透气性,我计划像下面提到的那样实现md,b,c。因此,在md-4之后,应该等待md完成并返回有效负载。然后,它将丰富md-4返回的有效载荷,如下所述。

所以,我的基本问题是

  • 如何触发和执行parrel序列?
  • 如何等待直到它完成?
  • 如何通过它获得有效载荷返回?

我不想要详细的答案。任何暗示都是有价值的。

  • ESB版本: WSO2 5.0.0
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-02 17:16:46

对于此场景,您可以将克隆中介器与聚合中介器结合起来。请查查我的解决方案。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="PX_ParallelTest"
       startOnLoad="true"
       statistics="disable"
       trace="disable"
       transports="http,https">
   <target>
      <inSequence>
         <clone>
            <target>
               <sequence>
                  <payloadFactory media-type="xml">
                     <format>
                        <Result1 xmlns="">
                           <resultCode>OK</resultCode>
                        </Result1>
                     </format>
                     <args/>
                  </payloadFactory>
                  <loopback/>
               </sequence>
            </target>
            <target>
               <sequence>
                  <payloadFactory media-type="xml">
                     <format>
                        <Result2 xmlns="">
                           <resultCode>OK</resultCode>
                        </Result2>
                     </format>
                     <args/>
                  </payloadFactory>
                  <loopback/>
               </sequence>
            </target>
         </clone>
      </inSequence>
      <outSequence>
         <property name="Result" scope="default">
            <Result xmlns=""/>
         </property>
         <aggregate>
            <completeCondition>
               <messageCount max="-1" min="-1"/>
            </completeCondition>
            <onComplete enclosingElementProperty="Result" expression="$body/*[1]">
               <enrich>
                  <source clone="true" xpath="$body/*[1]"/>
                  <target type="body"/>
               </enrich>
               <send/>
            </onComplete>
         </aggregate>
      </outSequence>
   </target>
   <description/>
</proxy>

现在您可以看到这个实现的响应。

代码语言:javascript
复制
<Result>
   <Result1>
      <resultCode>OK</resultCode>
   </Result1>
   <Result2>
      <resultCode>OK</resultCode>
   </Result2>
</Result>
票数 4
EN

Stack Overflow用户

发布于 2017-03-02 16:01:47

如何触发和执行parrel序列?

  • 使用两个目标的克隆中介

如何等待直到它完成?

  • A每个目标序列的末尾,调用使用聚合中介的序列

如何通过它获得有效载荷返回?

  • 当聚合中介器允许您在"onComplete“中输入时,您可以访问所有有效负载。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42558973

复制
相关文章

相似问题

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