在跨请求 - 响应入站端点移动时,mule中使用了多少个线程?

时间:2013-05-14 08:42:44

标签: mule

我试图了解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>

1 个答案:

答案 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]是用于处理消息的线程的名称