MySQL官方不推荐使用autoReconnect=true,参见
http://bugs.mysql.com/bug.php?id=5020
需要另外找别的办法来解决超过8小时,链接断开的问题。
由于问题产生的根本原因在于服务到数据库的连接长时间没活动,既然重新连接的办法无效,就可以尝试另外一种办法,就是反空闲。
自己写一个线程来反空闲的话,比较麻烦。
最后在网上找到一个办法。为hibernate配置连接池,推荐用c3p0,然后配置c3p0的反空闲设置idle_test_period,只要小于MySQL的wait timeout即可。
在hibernate.cfg.xml中增加下面几项:
<!-- configuration pool via c3p0-->
<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="c3p0.min_size">5</property>
<property name="c3p0.max_size">30</property>
<property name="c3p0.time_out">1800</property> <!-- seconds --><!-- default: 0 -->
<property name="c3p0.max_statement">50</property> <!-- default: 0 -->
<property name="c3p0.acquire_increment">1</property> <!-- default: 1 -->
<property name="c3p0.idle_test_period">120</property> <!-- seconds --><!-- default: 0 -->
<property name="c3p0.validate">true</property>
分享到:
相关推荐
8. **异常处理**:当数据库操作遇到问题时,MySQL Connector/J会抛出相应的`SQLException`,提供错误信息以便调试。 9. **兼容性**:MySQL Connector/J 5.1.6适用于Java SE 5及更高版本,同时也支持EJB和JSP应用。 ...
autoReconnect=true&useUnicode=true&characterEncoding=UTF8" validationQuery="Select 1" maxActive="20" /> ``` 五、修改entityengine.xml文件 修改jira安装目录下的WEB-INF/classes/entityengine.xml...
了解这些参数可以帮助开发者更好地定制与MySQL数据库的连接,优化性能,解决兼容性和安全问题。实际应用中,开发者应根据项目需求选择合适的参数组合。在阅读提供的`Mysql JDBC URL连接参数表.doc`文档后,可以获取...
7. **配置参数**:MySQL Connector/J有许多可配置的属性,如`useSSL`、`autoReconnect`、`useServerPrepStmts`等,它们可以调整驱动的行为以满足不同应用场景的需求。 8. **兼容性**:此版本5.1.46支持MySQL 5.x...
版本8.0.19是该连接器的一个稳定版本,优化了性能并修复了一些已知问题。 在Nacos中,MySQL Connector/J的作用主要体现在以下几个方面: 1. 数据源管理:Nacos提供了一种灵活的数据源管理方式,用户可以通过配置...
请注意,有时候可能需要根据 MySQL 版本和特定环境调整配置参数,例如 `time-between-eviction-runs-millis`,某些情况下可能需要将其设置为 `-1` 来避免潜在问题。务必查阅官方文档或社区论坛获取更多帮助。 总之...
MySQL Connector/J有不同的版本,如5.1.7,与特定的MySQL服务器版本可能存在兼容性问题。在选择驱动版本时,应确保与使用的MySQL服务器版本相匹配。 6. 注意事项: - 安全性:避免在代码中硬编码数据库凭证,最好...
3. 使用 Connector/J 连接属性 'autoReconnect=true',避免连接超时的问题。 结论 MySQL 连接超时问题是常见的错误之一,解决该问题需要了解 wait_timeout 参数的重要性,并正确地使用 show variables 命令。同时...
6. **配置参数**:MySQL Connector/J支持多种配置参数,如`useUnicode=true`、`characterEncoding=utf8`用于设置字符编码,`autoReconnect=true`用于确保断线后自动重连等。 7. **兼容性与版本**:5.1.5版本的MySQL...
如果从更早的MySQL版本升级,需要注意数据迁移和兼容性问题,使用`mysqldump`工具备份数据。 15. **监控与性能分析**: 可以通过`SHOW STATUS`和`SHOW VARIABLES`命令检查MySQL的状态和配置,使用`EXPLAIN`关键字...
7. **配置选项**:MySQL Connector/J支持多种连接参数,如`useSSL`(是否使用SSL加密连接)、`characterEncoding`(字符编码)、`autoReconnect`(自动重连)等,以满足不同应用场景的需求。 8. **兼容性**:5.1.x...
4. 考虑使用 Connector/J 连接属性:在使用 Hibernate 进行数据库操作时,可以考虑使用 Connector/J 连接属性,例如 autoReconnect=true,来避免连接超时问题。 5. 及时释放连接:在使用完毕连接后,需要及时释放...
characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true`:设置MySQL的URL,替换为你的数据库地址、端口、数据库名。 - `db.user=nacos`:设置MySQL用户名。 - `db.password=nacos`:...
在本文中,我们将深入探讨关于Tomcat和MySQL连接池问题的详解,特别关注Tomcat 5.5版本中的常见问题和解决方案。连接池是管理数据库连接的关键组件,它提高了性能并减少了资源消耗。 问题一:Cannot create JDBC ...
当应用程序遇到这种问题时,一种常见的解决方案是在数据库连接字符串中添加"autoReconnect=true"选项,试图在断开连接后自动重新连接。然而,对于MySQL 4.0之前的版本,这种方法可能有效,但在较新的MySQL版本中,...
- 版本更新:每个新版本通常会修复已知的安全问题和性能瓶颈,所以保持驱动程序的更新很重要。 - 预编译SQL(PreparedStatement):使用PreparedStatement能防止SQL注入攻击,并且由于预编译过程,执行效率通常...
3. **使用`autoReconnect=true`属性**:如果你的应用使用的是MySQL的JDBC驱动,可以在连接字符串中添加`autoReconnect=true`属性。这将使驱动在检测到连接断开后尝试重新建立连接。然而,这种方法并非总是可靠,因为...