繁体   English   中英

tomcat-jdbc数据源PoolProperties配置

[英]tomcat-jdbc Datasource PoolProperties configuration

我正在使用tomcat-jdbc连接数据库。 我正在使用以下PoolProperties p.setUrl(url); p.setDriverClassName(dirverClassName);//"mysqlDriver" p.setUsername(userName); p.setPassword(passWord); p.setJmxEnabled(true); p.setTestWhileIdle(false); p.setTestOnBorrow(true); p.setValidationQuery(validationQuery);//"select 1" p.setTestOnReturn(false); p.setValidationInterval(30000); p.setTimeBetweenEvictionRunsMillis(30000); p.setMaxActive(8); p.setInitialSize(1); p.setMaxWait(1000*60*1); p.setRemoveAbandonedTimeout(2000); p.setMinEvictableIdleTimeMillis(30000); p.setMinIdle(1); p.setMaxIdle(2); p.setLogAbandoned(true); p.setRemoveAbandoned(true); p.setUrl(url); p.setDriverClassName(dirverClassName);//"mysqlDriver" p.setUsername(userName); p.setPassword(passWord); p.setJmxEnabled(true); p.setTestWhileIdle(false); p.setTestOnBorrow(true); p.setValidationQuery(validationQuery);//"select 1" p.setTestOnReturn(false); p.setValidationInterval(30000); p.setTimeBetweenEvictionRunsMillis(30000); p.setMaxActive(8); p.setInitialSize(1); p.setMaxWait(1000*60*1); p.setRemoveAbandonedTimeout(2000); p.setMinEvictableIdleTimeMillis(30000); p.setMinIdle(1); p.setMaxIdle(2); p.setLogAbandoned(true); p.setRemoveAbandoned(true);

我有两个问题

1>我经常从数据源获得连接。 有时超过maxActive。 同时,DB中的某些连接处于睡眠模式。 MinEvictableIdleTimeMillis之后,睡眠连接将关闭。 所以我收到以下错误

`com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection,  message from server: "Too many connections"`

2>有时我需要保持长时间连接,因为我一次插入了凸起数据。 因此,我为MinEvictableIdleTimeMillis设置了较大的值。 MinEvictableIdleTimeMillis时间设置为更大会增加连接睡眠时间。

我想我错误地使用了属性。 请帮我解决问题。 请指导我正确配置数据源。 提前致谢

1)第一个问题似乎已经达到服务器中可用的最大连接数。 我实际上不知道它是如何发生的(以防万一,请检查您的max_connections MySQL变量)。 您确定要从连接池获取所有连接吗? 也许您在Java代码中获得了一些不是来自连接池的连接(因为它应该进行检查)。 还要确保返回使用的每个ResultSetStatementConnection (在完成所有这些对象的调用后,在finally块内调用close()方法)

2)我不确定为什么您要在Web应用程序中将数据库连接保持空闲状态30秒钟; 如果您长时间“占用”您的连接,可能会导致饥饿。 请重新考虑这是否确实有必要,或者是否可以重新设计您正在做的事情,以便减少对数据库连接的限制

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM