如何在Mulesoft中将睡眠设置为流而不会丢失消息有效负载

Ste*_*ano 6 java groovy mule mule-component

我想插入脚本来延迟Mulesoft中的处理流程.我试图在groovy中插入脚本,但我丢失了messagge有效负载,所以当我必须得到消息有效负载recived null指针.我怎么能不丢失消息有效载荷?

谢谢

Ani*_*ary 18

如果你在流程中使用Groovy组件,那么你可以定义sleep()如下: -

<scripting:component doc:name="Groovy">
  <scripting:script engine="Groovy"><![CDATA[
    sleep(10000);
    return message.payload;]]>
  </scripting:script>
</scripting:component>
Run Code Online (Sandbox Code Playgroud)

而且记得 返回在message.payload Groovy中,这样就可以得到有效载荷在年底否则你会得到负载

如果你不在最后返回Groovy有一个失去有效负载的问题,所以,在Groovy你需要在结束时返回有效负载,这就是你接收null有效负载的原因

或者你可以使用表达式组件如下: -

<expression-component>
    Thread.sleep(10000);
</expression-component>
Run Code Online (Sandbox Code Playgroud)