numberOfConcurrentTransactedReceivers 与 mule 产生的线程数有什么关系

What is the relation of numberOfConcurrentTransactedReceivers with the number of threads mule spawns

我知道 mule 有 3 个线程池以及它们是如何工作的,但是令我惊讶的是缺少关于 numberOfConcurrentTransactedReceivers 的文档,几乎没有任何内容直接谈论它不是甚至 Dossots book.

one blog post间接提到,但没有具体说明。

这里的 answer 称为隐藏功能:),有人可以解释一下吗?它与线程配置文件、maxActiveThreads 等有何关系...

环顾四周后,这就是我的发现...

numberOfConcurrentTransactedReceivers 很重要而且没有记录!!

行为取决于与它一起使用的连接器,因此这可能不是一个完整的答案,但这是我尝试开始的一些事情。如果新答案更完整,我很乐意将其标记为正确


仅事务性消息源使用 numberOfConcurrentTransactedReceivers.It 定义将同时触发来自消息源的消息的线程数。

此传输未考虑线程配置文件 maxThreads。所以配置它是没有用的。然而,如果您将接收器线程配置文件 doThreading 属性显式设置为 false,它将禁用 numberOfConcurrentTransactedReceivers 的使用。

以 JMS Transport 为例

  1. 对于不使用 XA 事务的队列,使用 消费者数量。
  2. 对于使用 XA 事务的队列,使用 numberOfConcurrentTransactedReceivers
  3. 对于主题,不要使用它们中的任何一个,因为 Mule 将始终创建一个消费者。