12.13. 容量策略

JBoss EAP 支持定义 Jakarta Connectors 部署的容量策略,包括数据源。容量策略定义池的物理连接的创建方式,称为容量递增和销毁,称为容量递减。默认策略设置为为每个请求创建一个连接以增加容量,并在为容量增加调度闲置超时时销毁所有连接。

要配置容量策略,您需要指定一个容量递增器类、容量递减器类或两者。

示例:定义容量策略

/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 策略将为每个请求填充池的最大大小。当您希望始终保持最大连接数时,此策略很有用。

大小增加器策略

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

大小递增器策略将根据每个请求的指定连接数填充池。如果您想增加每个请求的连接数以增加连接数,从而预期下一个请求还需要连接,此策略很有用。

表 12.3. 大小策略属性

名称描述

Size

应创建的连接数

注意

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

水印提高器策略

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

Watermark incrementer 策略会将池填入每个请求的指定连接数。如果要让池中始终保持指定数量的连接,此策略很有用。

表 12.4. 水印策略属性

名称描述

spalmark

连接数的水位线

MinPoolSize Decrementer Policy

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

MinPoolSize 修剪器策略会将池减小到每个请求的最小大小。如果要限制每个空闲超时请求后的连接数量,此策略很有用。池将以先出先出(FIFO)的方式运行。

大小延迟策略

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

Size 减少程序策略会根据每个空闲超时请求的指定连接数来减少池。

表 12.5. 大小策略属性

名称描述

Size

应销毁的连接数

如果要减少每个空闲超时请求的连接数,以预计池使用量随着时间的推移会降低,此策略很有用。

池将以先出先出(FIFO)的方式运行。

TimedOut Decrementer 策略

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

TimedOut 减少程序策略将删除每个空闲超时请求已从池中超时的所有连接。该池将以第一个 In Last Out(FILO)方式运行。

注意

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

TimedOut/FIFO 发布者策略

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

TimedOutFIFO 减少crementer 策略将删除每个空闲超时请求已从池中超时的所有连接。池将以先出先出(FIFO)的方式运行。

水印 Decrementer 策略

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

Watermark 减少者策略会将池数减少到每个空闲超时请求的指定连接数。如果要让池中始终保持指定数量的连接,此策略很有用。池将以先出先出(FIFO)的方式运行。

表 12.6. 水印策略属性

名称描述

spalmark

连接数的水位线