4.2. 池选项


这些选项决定了 AMQ Spring Boot Starter 如何缓存 JMS 连接和会话。初学者使用 AMQ JMS 池进行池化。如需更多信息,请参阅 使用 AMQ JMS 池库

amqphub.amqp10jms.pool.enabled
控制是否启用池。它默认是禁用的。
amqphub.amqp10jms.pool.maxConnections
单个池的最大连接数。默认值为 1。
amqphub.amqp10jms.pool.maxSessionsPerConnection

每个连接的最大会话数。默认值为 500。负值会删除任何限制。

如果超过限制,createSession() 会根据配置来阻断或抛出异常。

amqphub.amqp10jms.pool.blockIfSessionPoolIsFull

如果启用,调用 createSession() 块直到会话在池中可用。它会被默认启用。

如果没有可用的会话,则调用 createSession() 会抛出 IllegalStateException

amqphub.amqp10jms.pool.blockIfSessionPoolIsFullTimeout
被阻断调用 createSession() 前的时间以毫秒为单位抛出 IllegalStateException。默认值为 -1,即永远调用块。
amqphub.amqp10jms.pool.connectionIdleTimeout
当前没有贷款的连接前的时间(毫秒为单位)可以被从池中驱除。默认值为 30 秒。0 代表禁用超时。
amqphub.amqp10jms.pool.connectionCheckInterval
定期检查已过期连接的时间(毫秒为单位)。默认值为 0,表示禁用检查。
amqphub.amqp10jms.pool.useAnonymousProducers

如果启用,为所有对 createProducer() 的调用使用单个匿名 JMS MessageProducer。它会被默认启用。

在个别情况下,这种行为不可取。如果禁用,对 createProducer() 的每个调用都会产生新的 MessageProducer 实例。

amqphub.amqp10jms.pool.explicitProducerCacheSize
如果不使用匿名制作者,JMS Session 可以配置为使用显式目的地缓存特定数量的 MessageProducer 对象。当创建与缓存制作者不匹配的新制作者时,缓存中最旧的条目将被驱除。
amqphub.amqp10jms.pool.useProviderJMSContext

如果启用,使用底层 JMS 供应商的 JMSContext 类。它默认是禁用的。

在正常操作中,池使用自己的通用 JMSContext 实现来包装来自池中的连接,而不使用提供程序实施。般实施可能会限制供应商实施。但是,启用后,来自 JMSContext API 的连接不会由池管理。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat