【发布时间】:2019-06-13 16:02:29
【问题描述】:
在同步重试直到成功之前需要帮助。 我想跟踪重试次数。 对于异步调用,有一个名为 process.attempt.count 的变量,但对于同步调用,此变量不起作用。 即使我使用变量来增加会话中的计数,它也会默认返回到它作为直到成功的一部分开始的位置。 非常感谢任何帮助。
我尝试在直到成功之前增加计数器,但是由于在直到成功之前在 mule 中没有变量传播,所以变量默认为原始值
<until-successful failureExpression="#[sessionVars['code'] != 0]" maxRetries="6" secondsBetweenRetries="2" synchronous="true">
<flow-ref name="Enquiryflow" />
</until-successful>
<sub-flow name="Enquiryflow">
<choice doc:name="Choice">
<when expression="#[sessionVars['retryCount']=='0']">
<set-session-variable variableName="retryCount" value="#[sessionVars.retryCount + 1]"/>
<flow-ref name="postRequestToXYS" />
<flow-ref name="mapResponseTemplate" />
</when>
<otherwise>
<flow-ref name="postRequestToABC" />
<flow-ref name="mapResponseTemplate" />
</otherwise>
</choice>
</sub-flow>
【问题讨论】:
标签: mule