gpt4 book ai didi

java - 如何防止使用hibernate连接mysql时出现mysql wait_timeout?

转载 作者:行者123 更新时间:2023-12-02 06:53:44 26 4
gpt4 key购买 nike

我创建了一个服务,该服务执行一些数据库操作。但是该服务长时间处于空闲状态,因为我们不需要定期使用该服务。假设我在周一做了一些操作,之后我想要2天后使用该服务,假设我想在周三使用该服务。但是由于mysql有一个属性wait_timeout,mysql会在其wait_timeout定义值后关闭我的连接。是否有任何 hibenate 配置属性会在 wait_timeout 结束后自动重新连接到数据库。我搜索了几个选项:1]在hibernate配置或数据库url中添加autoReconnect true(我已经尝试过,但无法在wait_timeout后重新连接数据库)2]使用c3p0连接器

请建议我在wait_timeout后重新连接数据库的方法。我没有使用过 c3p0 连接器,但我想知道使用 c3p0 好吗,或者它是最好的解决方案

请让我知道重新连接数据库的任何其他选项。

最佳答案

大多数连接器都提供类似 ValidationQuery 的功能来防止丢失数据库连接。对于 mysql,ValidationQuery 将为“SELECT 1”。

检查this page一些示例(例如,使用 c3po、jdbc 或直接在数据源上)。我通常将 ValidationQuery 配置为 DatasourceProvider 的一部分。

关于java - 如何防止使用hibernate连接mysql时出现mysql wait_timeout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17677117/

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