0

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

请建议我在等待超时后重新连接数据库的方法。我没有使用过 c3p0 连接器,但我想知道使用 c3p0 好还是最好的解决方案

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

4

1 回答 1

2

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

查看此页面以获取一些示例(例如,使用 c3po、jdbc 或直接在数据源上)。我通常将 ValidationQuery 配置为 DatasourceProvider 的一部分。

于 2013-07-16T13:06:37.653 回答