首页 > 解决方案 > VM 流是否支持 mulesoft 的入站端点中的请求-响应交换模式?

问题描述

如果它确实支持,则流程不会在我的 vm 流程中继续进行。组件 def 没有被调用。

<flow name="abc">
<vm:inbound-endpoint exchange-pattern="request-response"
        path="abc" doc:name="VM" />
<component doc:name="def">
        <spring-object bean="defcomponent" />
</component>
</flow>

标签: javaxmlmulemulesoft

解决方案


是的,它确实支持它,但是阅读文档我怀疑它不能像您期望的那样工作: https ://docs.mulesoft.com/mule-runtime/3.9/vm-transport-reference#features

请求-响应:

使用请求-响应端点时,消息直接从出站 vm 端点传递到在同一路径上侦听的入站 vm 端点。这种传递是阻塞的,并且发生在同一个线程中。如果在侦听此路径的同一 Mule 应用程序中没有入站请求-响应 VM 端点,则从出站端点调度消息将失败。

单程:

使用单向端点时,消息通过队列传递到相应的入站端点。此交付是非阻塞的。如果在同一个 Mule 应用程序中没有入站单向端点在侦听此路径,则尽管消息发送成功,但消息仍保留在队列中。默认情况下,此队列在内存中,但也可以配置一个使用文件系统作为其持久性机制的持久性队列。

我知道对于请求响应,从 vm:outbound 直接传输到 vm:inbound,而不是通过队列。这并不意味着像 JMS 队列中那样有一个不同的路径特性。


推荐阅读