java - 连接池有数百个空闲连接
问题描述
我在我的应用程序的上下文文件中有这些设置。
我看到连接池有数百个空闲连接浪费数据库资源。
我试图弄清楚我需要在我的上下文中拥有什么以避免连接池问题:
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxActive="10"
initialSize="0"
maxAge="1800"
testWhileIdle="true"
testOnBorrow="true"
testOnReturn="false"
validationQuery="SELECT 1 FROM DUAL"
validationInterval="30000"
timeBetweenEvictionRunsMillis="30000"
removeAbandonedTimeout="60"
removeAbandoned="true"
logAbandoned="true"
minEvictableIdleTimeMillis="18000"
jmxEnabled="true"
fairQueue="true"
jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;
org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
在池连接旁边,应用程序将抛出此错误:((ORA-12516))
Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
ORA-12516, TNS:listener 找不到具有匹配协议栈的可用处理程序
at oracle.net.ns.NSProtocolStream.negotiateConnection(NSProtocolStream.java:275) ~[ojdbc7-12.1.0.2.jar:12.1.0.2.0]
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:264) ~[ojdbc7-12.1.0.2.jar:12.1.0.2.0]
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1452) ~[ojdbc7-12.1.0.2.jar:12.1.0.2.0]
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:496) ~[ojdbc7-12.1.0.2.jar:12.1.0.2.0]
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:666) ~[ojdbc7-12.1.0.2.jar:12.1.0.2.0]
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) ~[ojdbc7-12.1.0.2.jar:12.1.0.2.0]
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:566) ~[ojdbc7-12.1.0.2.jar:12.1.0.2.0]
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:319) ~[tomcat-jdbc.jar:?]
解决方案
推荐阅读
- android - 如何在 ConstraintLayout 中截屏?
- php - 如何在 Laravel 中为用户创建提醒
- php - PHP-FPM 可以创建 slow.log 但不能将内容写入 slow.log
- r - 在同一个文件中使用两个版本的 openxlsx 分叉
- c - 如何一次设置 GDB 调试打印选项?
- java - 无法通过 USB 从标签打印机打印
- qt - 从 QT 应用程序创建一个 .deb 包
- angular - 如何修复“无法读取未定义的属性‘标题’”
- apache-kafka - 如何停止处理从 kafka 轮询的导致 k8s pod 重启的有问题的记录
- php - 从 Ajax 传递数据时 PHP 未定义错误