如何在MySQL数据库中保持Active远程连接?

时间:2013-04-18 06:56:27

标签: java mysql jdbc

我有一个在线MySQL数据库中具有远程访问权限的java应用程序,它运行正常。

唯一的问题是,几分钟后,与服务器的连接已关闭,无论如何都要保持连接处于活动状态?这样我就不必为了执行任务而实例化另一个连接。

非常感谢任何想法和意见。 在此先感谢。

3 个答案:

答案 0 :(得分:3)

您需要自动重新连接,尝试编辑JDBC URL:

  

JDBC:MySQL的:// [主机]:[端口] / [数据库]的 autoReconnect的= TRUE

请参阅连接器参考: http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html

答案 1 :(得分:3)

正如其他答案所指出的,您可以使用连接上的autoReconnect选项来解决当前问题。

但是,如果您没有使用数据库连接池,我会强烈建议您切换到一个。

它们有许多优点:

  • 他们为您检查您的连接 - 这涉及超时,网络问题等
  • 他们控制连接数
  • 完成每项工作后,您可以简单地“关闭”连接,然后在需要时“重新打开”连接。

如果你自己管理连接,你几乎肯定会写一些形式的连接池 - 以及为什么重新发明轮子。

当你实现连接检查以便它们不会过时时,某种连接保持器,这样你就不需要每次都重新打开它们,某些异常处理代码你很好你编写大量已经编写并经过全面测试的代码的方法。

我使用过dbcpboneCP,两者都非常易于使用和配置,并且可以节省您处理JDBC连接问题的数小时和数小时的挫折。

答案 2 :(得分:1)

jdbc:mysql://[host]:[port]/[database]?autoReconnect=true&user=root&password=passwordIchose