我有一个 java 应用程序,它可以远程访问在线 MySQL 数据库,它工作正常。
唯一的问题是,几分钟后,与服务器的连接被关闭了,还有什么办法让连接保持活动状态吗?这样我就不必为了执行任务而实例化另一个连接。
任何想法和投入将不胜感激。提前致谢。
您需要自动重新连接,尝试编辑您的 JDBC URL:
jdbc:mysql://[主机]:[端口]/[数据库]? 自动重新连接=真
请参阅连接器参考: http ://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html
正如其他答案所指出的,您可以使用autoReconnect
连接上的选项来解决眼前的问题。
但是,如果您不使用数据库连接池,我强烈建议您切换到一个。
它们有许多优点:
如果您自己管理连接,您几乎肯定会最终编写某种形式的连接池——以及为什么要重新发明轮子。
当您实施连接检查以使它们不会过时时,某种连接持有者使您无需每次都重新打开它们,某种异常处理代码您已经准备就绪编写大量已经编写并经过彻底测试的代码。
jdbc:mysql://[host]:[port]/[database]?autoReconnect=true&user=root&password=passwordIchose