我们在生产服务器上遇到问题,此服务器正在查询外部数据库(Postgresql) 我们将Max pool size设置为20,将pool pool size设置为5,但是我们在Postgresql服务器上始终有20个开放连接,即使它不需要那么多连接,并且几乎所有连接都在2小时或更长时间内处于空闲状态。 问题:我们有4个这个应用程序的实例,所以我们在这个外部数据库上有80个开放连接
这是我们的配置:
<?xml version="1.0" encoding="utf-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>jdbc/name</jndi-name>
<connection-url>
[CONNECTION_URL]
</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<user-name>[USER_DB]</user-name>
<password>[PWD_DB]</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<valid-connection-checker-class-name>org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker</valid-connection-checker-class-name>
<exception-sorter-class-name>
org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter
</exception-sorter-class-name>
</local-tx-datasource>
</datasources>
如果未设置,则空闲连接的默认超时为30。 那么为什么他们有这么多未使用的(空闲)连接呢?
由于