MySQL连接器/J中的自动重构和自动重构表单池有什么区别?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (63)

在MySQL的配置引用中连接器J驱动器,则在使用自动重构。我按照指示增加了服务器的等等_超时...。由于我使用的是dbcp(在阅读了Stackoverflow击落dbcp的几篇文章后,我正在考虑转到c3po),所以可以使用自动重构ForPools财产?如果在DBCP或任何连接池中启用,它实际上会做什么?

提问于
用户回答回答于

自动重构将向客户端抛出一个SQLException,但将尝试重新建立连接。

自动重构ForPools将尝试在每次SQL执行之前对服务器进行平分。

过去,我对DBCP有很多问题,尤其是断开连接。大多数都是通过搬到C3P0...。

用户回答回答于

MySQL的autoReconnect因为它有许多问题,所以不推荐使用它

autoReconnectForPoolsautoReconnect,这与autoCommitreconnectAtTxEnd-当三个人都是true,它将在每个事务结束时对服务器进行平分,并在需要时自动重新连接。

DBCP的连接验证是不完美的--即使在testOnBorrow设置后,它有时会从池中返回中断的连接(更不用说在每次借用之前测试连接的效率都非常低)。

根据这篇文章,HikariCP似乎是一个更好的池实现,因为它能够使用jdbc 4。isValid()API,它比运行测试查询快得多,并且专门设计为永远不会将中断的连接返回到客户端应用程序。

扫码关注云+社区