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 策略将按每个请求的指定连接数填充池。当您想在分析下一请求需要连接时,每个请求的附加连接数增加时,此策略很有用。
Name | 描述 |
---|---|
Size | 应该创建的连接数 |
这是默认的增量策略,大小为 1。
watermark Incrementer 策略
类名称 :org.jboss.jca.core.connectionmanager.pool.capacity.WatermarkIncrementer
Watermark 递增器策略将池填满为每个请求的指定连接数。当您想始终在池中保留指定数量的连接时,此策略很有用。
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 策略将按每个空闲超时请求的指定连接数减少池。
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)的方式运行。
Name | 描述 |
---|---|
watermark | 连接数的水位线级别 |