0

我试图了解 Mule 中使用的线程模型。Mule 文档引用:

如果你使用的是同步处理,那么将使用同一个线程来携带消息一路通过Mule

因此,如果我在 HTTP 请求响应入站端点上收到一条消息,然后将其发送到另一个入站端点,例如使用请求响应的 vm 入站端点。这是使用 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>
4

1 回答 1

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]用于处理消息的线程的名称在哪里

于 2013-05-14T12:37:54.573 回答