在MySql的的配置参考中,使用autoReconnect属性时发出警告emptor。我遵循指示,并增加了我的服务器的wait_timeout。由于我使用的DBCP(我正在考虑转移到c3po阅读Stackoverflow击落DBCP后的几个帖子),可以使用autoReconnectForPools属性吗?当在DBCP或任何连接池中启用时,它实际上做了什么?MySql连接器/ J中的autoReconnect和autoReconnectForPools有什么区别?
回答
autoReconnect会向客户端抛出一个SQLException,但会尝试重新建立连接。
autoReconnectForPools将尝试在每次执行SQL之前对服务器执行ping操作。
我在过去有很多dbcp的问题,尤其是断开连接。大部分通过转向c3p0解决。注意mysql驱动程序有c3p0的连接测试器(com.mysql.jdbc.integration.c3p0.MysqlConnectionTester)。
此外,你可能想看看这个:Connection pooling options with JDBC: DBCP vs C3P0
你确定你使用正确DBCP?
根据short configuration notes,由于默认值为testOnBorrow=true
(在使用前测试连接,并且如果失败,它会从池中删除,我们尝试获取新连接),因此应该处理超时时间相当不错。 。
您需要做的唯一事情是确保您将validationQuery
属性配置为非空字符串,例如, MySQL数据库的“SELECT 0”(here是关于每个DB使用的不同validationQuery值的文章)。
MySQL的autoReconnect
功能被弃用,因为它有很多问题(参考:官方documentation)。
autoReconnectForPools
有一点做与autoReconnect
,它更多的是与autoCommit
和reconnectAtTxEnd
- 当所有3 true
,它将ping服务器在每次交易结束,如果需要,自动重新连接。
DBCP的连接验证是不完美的 - 即使设置了testOnBorrow
,它有时会从池中返回断开的连接(更不用说在每次借用之前测试连接都非常低效)。
根据this article,HikariCP似乎是一个更好的池实现,因为它能够使用比运行测试查询快得多的API,并且专门设计为永不返回到客户端应用程序的断开连接。
- 1. MySQL中的套接字和端口连接有什么区别?
- 2. 是什么左边的区别连接和MySQL中右连接
- 3. Mysql的表连接中的“using”和“on”有什么区别?
- 4. 范围和连接有什么区别?
- 5. ,和+连接时有什么区别?
- 6. mysql中'where'和不同'连接'有什么区别?
- 7. 从DataSource getconnection()和Mysql会话连接有什么区别?
- 8. =和在mysql中有什么区别?
- 9. MySql中utf8_general_ci和utf8_unicode_ci有什么区别?
- 10. 反连接和反半连接有什么区别?
- 11. 插座连接和动作连接有什么区别?
- 12. 散列连接和合并连接(Oracle RDBMS)有什么区别?
- 13. MySQL连接器/ J问题
- 14. Mysql连接器j错误
- 15. 在SQL/MySQL中,连接语句中的“ON”和“WHERE”有什么区别?
- 16. SocketConnection与DCOM连接有什么区别
- 17. 左外连接 - 有什么区别?
- 18. pg_hba.conf中的“local”和“localhost”连接类型有什么区别?
- 19. 套接字的连接和读取超时有什么区别?
- 20. IncomingMessage的“套接字”,“连接”和“connection.socket”有什么区别?
- 21. Linq:在连接中==和equals有什么区别?
- 22. NTFS连接点和符号链接有什么区别?
- 23. MySQL,MySQLi和PDO有什么区别?
- 24. mysqlimport和mysql有什么区别<dbfile.sql
- 25. MySQL - GROUP BY和DISTINCT有什么区别?
- 26. 有什么区别`和$(Bash中有什么区别?
- 27. MysqlDataSource和MysqConnectionPoollDataSource有什么区别
- 28. IComparable和IEquatable接口有什么区别?
- 29. GCC和LD链接有什么区别?
- 30. 链接和绑定有什么区别?
谢谢你的想法。 – ashitaka 2009-04-03 01:44:34