首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消息保持不变的Mule同步标注

消息保持不变的Mule同步标注
EN

Stack Overflow用户
提问于 2013-07-01 22:15:00
回答 1查看 142关注 0票数 0

Mule 3.3.1社区版。

我想知道我是否在Mule中遗漏了一些简单的配置模式,这些模式将允许我执行以下一般类型的过程。我希望消息从入站终结点传入。然后,我希望呼叫某个其他端点,例如路由确定服务,并根据该出站呼叫的结果,向原始message...unchanged...to发送第二个出站端点。

对路由服务的呼叫改变了原始消息。使用像wire-tap这样的构造似乎会带来排序问题。我可以通过复制所有的头和有效负载来做到这一点,但是每次我需要它的时候编写代码都太乏味了,而且读起来也很笨拙。我可以非常简单地编写一个自定义转换器,在消息上设置一个结果变量。

但是,有没有简单的“纯Mule-flow”解决方案呢?这似乎有点类似于http-proxy模式构造的基本原理,不必手动将所有入站内容复制到出站。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-01 23:29:19

据我所知,它可以使用mule现有的处理器和转换器来实现。

读取来自入站端点的输入之后

Step1:使用Mule Messag Enricher,如以下链接所述。通过这种方式,您可以调用出站,并将从出站返回的值设置为流或会话变量,从而保持有效负载不受干扰。

Mule Message Enricher

步骤2:然后,您可以使用在富化器中设置的流/会话变量来调用第二个出站。

一个抽象的场景流就像这样。

代码语言:javascript
复制
<flow >
    <inbound-endpoint>       

     <enricher target="#[variable:myTempFlowVar]">
        <outbound call >
     </enricher>
    <choice>
        <when expression="#[flowVar['myTempFlowVar'] == 'Test']" >
            <outbound call 2>
        </when>
        <otherwise>
            <something else>
        </otherwise>
    </choice>
</flow>

希望这能有所帮助。

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

https://stackoverflow.com/questions/17406627

复制
相关文章

相似问题

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