数据库获取连接超时,dbcp如何配置能解决大并发访问?

异常日志

Error updating database. Cause: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object

Cause: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object

当前配置
maxActive="100"
maxIdle="30"
maxWait="10000"

业务需要连接两个数据源,一次请求中向两个数据源中插入数据,服务运行期间偶尔会出现此类异常,从连接池中获取连接超时,如果只更改连接配置值更大能否改善问题?还是得从代码或业务上重新更改?

注:为了控制事务,在代码中获取两个数据源连接后,需等到第二次获取的连接提交后,再提交第一次获取的连接,会不会是这个问题导致的?如果是,那么两个数据源应该如何管理事务?

查看回复