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()的调用使用单个匿名 JMSMessageProducer。它会被默认启用。在个别情况下,这种行为不可取。如果禁用,对
createProducer()的每个调用都会产生新的MessageProducer实例。- amqphub.amqp10jms.pool.explicitProducerCacheSize
-
如果不使用匿名制作者,JMS
Session可以配置为使用显式目的地缓存特定数量的MessageProducer对象。当创建与缓存制作者不匹配的新制作者时,缓存中最旧的条目将被驱除。 - amqphub.amqp10jms.pool.useProviderJMSContext
如果启用,使用底层 JMS 供应商的
JMSContext类。它默认是禁用的。在正常操作中,池使用自己的通用
JMSContext实现来包装来自池中的连接,而不使用提供程序实施。般实施可能会限制供应商实施。但是,启用后,来自JMSContextAPI 的连接不会由池管理。