我试图从主同步流调用异步私有流,如下所示:
<flow name="main" doc:name="main" processingStrategy="synchronous">
<poll frequency="10000">
<set-payload value="main"></set-payload>
</poll>
<flow-ref name="async-private" />
<flow-ref name="private" />
</flow>
<flow name="private" processingStrategy="synchronous">
<logger level="ERROR" message="sync" />
</flow>
<flow name="async-private" processingStrategy="asynchronous">
<logger level="ERROR" message="async" />
</flow>但它不起作用,并导致以下例外情况:
无法异步处理同步事件。消息有效负载类型为: String (org.mule.api.MessagingException)
这里发生什么事情?
更新
如果我将异步流-ref包装在<async>标记中,它就能工作。但我为什么要这么做?是虫子吗?
发布于 2014-02-24 21:25:01
这是一个特征。
您处于显式同步流中,并尝试调用显式异步流。来自异步流的响应永远不会返回到调用方流。因此,有可能丢失消息。因此,Mule强制您显式使用<async>标记。
https://stackoverflow.com/questions/21998604
复制相似问题