Jboss Wildfly 在不使用时不关闭连接

Jboss Wildfly not closing connections when not in use

我正在使用具有以下配置超时的 jboss 服务器:-

<timeout>
    <idle-timeout-minutes>1</idle-timeout-minutes>
</timeout>
<min-pool-size>10</min-pool-size>
<max-pool-size>30</max-pool-size>
<prefill>true</prefill>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>

现在,一旦服务器达到最大负载(30 个连接),从 jboss 的 CLI 获得的数据源详细信息就会报告活动计数 = 30 和可用计数 = 30。

但是,即使在将服务器请求减少到 1 之后,活动计数和可用计数报告的值为 30。

预期 :- 数量应该减少,理想情况下应该只使用来自预填充池的 1 个连接,而不是保持所有连接处于唤醒状态!!

我看到了以下日志:-

17:34:12,359 DEBUG [org.jboss.jca.core.connectionmanager.pool.idle.IdleRemover] (IdleRemover) 通知池,间隔:30000

请帮忙!

WildFly 8 上的连接池实现 (ironjacamar) 采用 FIFO 又名循环方式。因此,在 idle-timeout-minutes 的时间内有 max-pool-size 个请求数量足以防止池缩小。

我必须使用另一个 decrementer policy 来告诉连接池针对每个 idle-timeout-minutes 间隔显式缩小大小 n

示例设置如下

                <pool>
                    <min-pool-size>5</min-pool-size>
                    <max-pool-size>20</max-pool-size>
                    <prefill>false</prefill>
                    <use-strict-min>true</use-strict-min>
                    <capacity>
                        <decrementer class-name="org.jboss.jca.core.connectionmanager.pool.capacity.SizeDecrementer">
                            <config-property name="Size">
                                1
                            </config-property>
                        </decrementer>
                    </capacity>
                </pool>

http://www.ironjacamar.org/doc/userguide/1.1/en-US/html/ch05.html#deploying_capacity_policies