Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java hibernate无法重新连接到mysql数据库_Java_Mysql_Spring_Hibernate_Jakarta Ee - Fatal编程技术网

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

Java hibernate无法重新连接到mysql数据库,java,mysql,spring,hibernate,jakarta-ee,Java,Mysql,Spring,Hibernate,Jakarta Ee,在我的SpringHibernate应用程序中,我们使用org.apache.tomcat.jdbc.pool.DataSource进行连接池。当我们启动服务器时,我们可以看到与数据库的连接已建立,并且在mysql服务停止后,服务器开始抛出错误,表示连接已丢失。当mysql服务再次启动时,我们是否必须重新启动服务器以重新建立与数据库的连接?因为即使在提供autoReconnect=true参数之后,应用程序也无法建立到DB的连接。我尝试使用dbcp和c3p0。我在dbcp中发现了一些问题,但c3

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

我尝试使用dbcp和c3p0。我在dbcp中发现了一些问题,但c3p0工作正常

autoReconnect=true

现在,我的应用程序可以自动重新连接到MySQL DB。

尝试添加以下参数:

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"/>

完整详细信息:

检查此项