间歇性 JDBC 管道破裂和 Link 故障

Intermittent JDBC Broken Pipe and Link Failure

 Excepcion:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
 ...
 Caused by: java.net.SocketException: Broken pipe

我已经阅读了很多与此类似的问题。 所以,在提出这个问题之前 'unworthy' 让我澄清一些事情

我的 JDBC link 完全正常工作。

我的具体问题是:

谢谢

A Broken pipe 消息意味着另一端关闭了连接,可能是因为收到的数据包顺序错误,或者因为客户端和服务器之间的状态不同步或类似的原因。或许在您的应用程序和服务器之间有防火墙会终止持久连接?或者也许有一段时间管道(连接)没有任何进展,服务器关闭了它?无论如何,如果您使用连接池机制(you should!),应该可以将此类情况的处理委托给它。

或者,如果您打算始终使用 MySQL,您可以尝试将 failOverReadOnly=false&maxReconnects=10&autoReconnect=true 添加到您的连接字符串中。这是特定于 MySQL JDBC 驱动程序的,因此,我真的建议您配置连接池机制以在将连接交付给您的应用程序之前测试连接。