【发布时间】:2020-07-25 06:16:19
【问题描述】:
我在我的应用程序中使用 IBM MQ,并且连接工厂是在 Jboss 级别定义的。 Jboss 级别的最大池大小属性配置为 50。通道的每个客户端配置的最大实例数设置为 999999999。共享对话保持默认值 10。 如果有人能详细说明这些连接是如何工作的,我将不胜感激?
我了解 JVM 可以建立到队列管理器的最大连接数是 50(最大连接池)。如果我有 50 个并行运行的消息侦听器线程,所有这些线程都将被消耗。但是通道级别,共享会话是 10,这意味着通过单个 TCP 连接最多可以共享 10 个会话。在这种情况下,我们没有使用此功能,因为我们用尽了 50 个连接。如果一个连接允许 10 次共享,我们应该会看到 50 条消息只建立了 5 个连接?
另外,如果我们有 100 条消息要消费或加载,因为我们将最大通道设置为一个较高的值,这是否意味着将操作 100 个通道,或者 10 个通道,每个通道有 10 个共享会话?
如果上述假设完全错误,请原谅,因为我是异步架构的初学者。
【问题讨论】:
-
知识中心有一个页面描述它。稍后我可以提供链接。连接=对话。使用
SHRCONV(1)可以获得更好的性能。
标签: spring jboss websphere message-queue mq