13.11. 容量策略


JBoss EAP 支持为 JCA 部署定义容量策略,包括数据源。容量策略定义了如何为池创建物理连接(容量递增)和销毁(容量减少)。将默认策略设置为为每个请求创建一次容量递增的连接,并在调度闲置超时时销毁所有连接。

要配置容量策略,您需要指定一个容量递增和/或减少类:

示例命令

/subsystem=datasources/data-source=ExampleDS:write-attribute(name=capacity-incrementer-class, value="org.jboss.jca.core.connectionmanager.pool.capacity.SizeIncrementer")

/subsystem=datasources/data-source=ExampleDS:write-attribute(name=capacity-decrementer-class, value="org.jboss.jca.core.connectionmanager.pool.capacity.SizeDecrementer")

您还可以在指定容量递增或减少类中配置属性:

命令示例

/subsystem=datasources/data-source=ExampleDS:write-attribute(name=capacity-incrementer-properties.size, value=2)

/subsystem=datasources/data-source=ExampleDS:write-attribute(name=capacity-decrementer-properties.size, value=2)

MaxPoolSize Incrementer Policy

类名称org.jboss.jca.core.connectionmanager.pool.capacity.MaxPoolSizeIncrementer

MaxPoolSize incrementer 策略将填充池到每个请求的最大大小。当您想保持所有时间可用的连接的最大数量时,此策略很有用。

Size Incrementer 策略

类名称org.jboss.jca.core.connectionmanager.pool.capacity.SizeIncrementer

Size incrementer 策略将按每个请求的指定连接数填充池。当您想在分析下一请求需要连接时,每个请求的附加连接数增加时,此策略很有用。

表 13.3. 大小策略属性
Name描述

Size

应该创建的连接数

注意

这是默认的增量策略,大小为 1。

watermark Incrementer 策略

类名称org.jboss.jca.core.connectionmanager.pool.capacity.WatermarkIncrementer

Watermark 递增器策略将池填满为每个请求的指定连接数。当您想始终在池中保留指定数量的连接时,此策略很有用。

表 13.4. 水位策略属性
Name描述

watermark

连接数的水位线级别

MinPoolSize Decrementer 策略

类名称org.jboss.jca.core.connectionmanager.pool.capacity.MinPoolSizeDecrementer

MinPoolSize decrementer 策略将为每个请求将池减少到其最小大小。当您要在每个闲置超时请求后限制连接数量时,此策略很有用。该池将以第一个 In First Out (FIFO)的方式运行。

大小声明器策略

类名称org.jboss.jca.core.connectionmanager.pool.capacity.SizeDecrementer

Size decrementer 策略将按每个空闲超时请求的指定连接数减少池。

表 13.5. 大小策略属性
Name描述

Size

应该销毁的连接数

当您想减少每个空闲超时请求的额外连接数量时,这个策略很有用,因为池使用量会随时间降低。

该池将以第一个 In First Out (FIFO)的方式运行。

timedout Decrementer 策略

类名称org.jboss.jca.core.connectionmanager.pool.capacity.TimedOutDecrementer

TimedOut decrementer 策略将删除每个空闲超时请求从池中超时的所有连接。该池将以 First In Last Out (FILO)的方式运行。

注意

此策略是默认的减少策略。

timedout/FIFO Decrementer 策略

类名称org.jboss.jca.core.connectionmanager.pool.capacity.TimedOutFIFODecrementer

TimedOutFIFO decrementer 策略将删除每个闲置超时请求从池中超时的所有连接。该池将以第一个 In First Out (FIFO)的方式运行。

水位线声明器策略

类名称org.jboss.jca.core.connectionmanager.pool.capacity.WatermarkDecrementer

Watermark decrementer 策略将把池减少到每个空闲超时请求的指定连接数。当您想始终在池中保留指定数量的连接时,此策略很有用。该池将以第一个 In First Out (FIFO)的方式运行。

表 13.6. 水位策略属性
Name描述

watermark

连接数的水位线级别

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.