gpt4 book ai didi

tomcat - MaxActive 数据库连接参数不起作用

转载 作者:行者123 更新时间:2023-11-28 23:30:39 25 4
gpt4 key购买 nike

我的数据源配置有问题。

我有一个带有 Java 7 的 Tomcat 7 和一个 Quartz 网络应用程序。此应用程序配置了一个数据源:

<Resource 
auth="Container"
driverClassName="com.mysql.jdbc.Driver"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
logAbandoned="true"
maxActive="3"
maxIdle="1"
maxWait="10000"
name="jdbc/name"
password="XXXXXX"
removeAbandoned="true"
removeAbandonedTimeout="120"
type="javax.sql.DataSource"
url="jdbc:mysql://xxxxxx:3306/xxxxx?autoReconnect=true&zeroDateTimeBehavior=convertToNull&rewriteBatchedStatements=true"
username="usr"
validationQuery="SELECT 1" />

在 maxActive = 3 的情况下,我预计打开的连接不会超过 3 个。而不是这个,我看到每次 Quartz 作业启动时都会打开一个新连接,直到 8 个连接(不知道这是否是默认限制)。

所以似乎没有考虑这个参数,但其他是的,因为与数据库的连接是正确的,所以用户名、密码等...都可以。

你能帮帮我吗?

谢谢

最佳答案

我自己回复

是工厂org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory的问题

使用 org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory(替换原来的 tomcat 7 jar)它可以工作

不知道为什么,但它有效。对于 org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory,即使 initialSize 设置为 8,也只有一个被实例化。只需替换为org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory,实例化8个

关于tomcat - MaxActive 数据库连接参数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30641328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com