我试图了解Mule中使用的线程模型。骡子文档引用:
如果使用同步处理,将使用相同的线程 通过Mule
一直传递信息
因此,如果我在HTTP请求 - 响应入站端点上收到消息,然后将其发送到另一个入站端点,请使用请求 - 响应来表示vm入站enpoint。是使用这1个线程还是使用2个线程? 1来自HTTP连接器池,1来自VM池?
示例:
<flow>
<http:inbound-endpoint exchange-pattern="request-response" address="xxx" />
<vm:outbound-endpoint exchange-pattern="request-response"address="vm://zzz" />
</flow>
<flow>
<vm:inbound-endpoint exchange-pattern="request-response"address="vm://zzz" />
...
</flow>
答案 0 :(得分:0)
如果所有入站端点都使用请求 - 响应,则在所有流中使用相同的线程。您可以在控制台输出中查看此信息。在你的情况下,你会有像
这样的输出-- Flow1
[[threadtest].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: /
[[threadtest].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Initialising: 'connector.VM.mule.default.dispatcher.1269236931'. Object is: VMMessageDispatcher
[[threadtest].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Starting: 'connector.VM.mule.default.dispatcher.1269236931'. Object is: VMMessageDispatcher
-- Flow2
[[threadtest].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: /
其中[[threadtest].connector.http.mule.default.receiver.02]
是用于处理消息的线程的名称