我正在研究基于码头的Java应用程序。我们正在使用BasicDataSource进行数据库池化。
我们有30个用户,而不是24/7支持。在这些情况下,池大小在短短2天内增长了130多个(maxTotal)。因此,我们必须在生产中每2-3天重新启动一次应用服务器。下面是我的配置。
- timeout = 120
- initial.size = 20
- maxTotal = 130
- minIdle = 20
- maxWaitMillis = 45000
- minEvictableIdleTimeMillis = 3600000
- validationQueryTimeout = 2
- removeAbandonedTimeout = 10
- removeAbandonedOnBorrow = true
- accessToUnderlyingConnectionAllowed = true
- testOnBorrow = true
- testWhileIdle = true
- logAbandoned = true
- maxConnLifetimeMillis = 1800000
代码库太大,无法检查连接泄漏,因此逐个文件更正会花费一些时间。我想通过更改配置或通过在服务中实现它触发的任何类型的维护代码来快速修复。