gpt4 book ai didi

java - hibernate 无法重新连接到 mysql 数据库

转载 作者:行者123 更新时间:2023-11-29 03:08:28 24 4
gpt4 key购买 nike

在我的 spring-hibernate 应用程序中,我们使用 org.apache.tomcat.jdbc.pool.DataSource 进行连接池。当我们启动服务器时,我们能够看到与数据库的连接已建立,在 mysql 服务停止后,服务器开始抛出连接丢失的错误。当 mysql 服务再次启动时,我们是否必须重新启动服务器以重新建立与数据库的连接?因为即使在提供 autoReconnect=true 参数后,应用程序也无法与数据库建立连接。

最佳答案

尝试添加以下参数:

validationQuery="SELECT 1"
testOnBorrow="true"

工作原理:连接池在返回连接之前尝试运行 validationQuery。如果 validationQuesry 失败,dbcp 丢弃连接,创建一个新连接并返回它。

这是一个例子:

<Resource   name="jdbc/cooldatabase"
description="Strandls.com license database"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/cooldatabase?autoReconnect=true"
username="cooluser"
password="coolpassword"
initialSize="0"
maxActive="20"
maxIdle="10"
minIdle="0"
maxWait="-1"
validationQuery="SELECT 1"
testOnBorrow="true"
poolPreparedStatements="true"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"/>

完整的细节:http://amitcodes.com/2008/07/26/16/

关于java - hibernate 无法重新连接到 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11846144/

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