命令行参数以扩展jdbc超时

时间:2014-10-17 16:57:56

标签: java mysql jdbc

我必须维护使用sql调用超时的java代码。错误是:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: communications link failure
The last packet successfully received from the server was 7706,043 milliseconds ago.  The last packet sent succesfully to the server was 2 milliseconds ago.

我认为该计划正在按计划进行。它实际上需要2个小时来处理来自sql调用的完整返回值!我已经编写了一个补丁来解决超时问题以及其他问题,但是我们可以在将它发布到生产服务器之前一个月。

与此同时,有一种方法可以将JDBC配置为使用更长的超时窗口吗?我无法触及代码,但有没有办法可以使用属性文件或命令行参数来配置默认的JDBC超时?

1 个答案:

答案 0 :(得分:0)

这可以通过更新用于连接到SQL的URL来完成。用于扩展URL的确切参数取决于连接到哪个DB,但此网页会详细介绍它们:

http://www.cubrid.org/blog/dev-platform/understanding-jdbc-internals-and-timeout-configuration/

以下是相关事实的副本;

mysql:jdbc:mysql://xxx.xx.xxx.xxx:3306 / database?connectTimeout = 60000& socketTimeout = 60000(以毫秒为单位) mysql(jtds)jdbc:jtds:sqlserver:// server:port / database; loginTimeout = 60; socketTimeout = 60(以秒为单位)