我正在研究用java编写的服务器应用程序。 每秒最多有30个客户端请求,对于每个请求,特定的mysql表条目都会更新。
所有服务器线程都使用单个mySQL连接,它们从单例类中获取。然后,服务器线程创建一个Statement并执行更新查询。
虽然我在执行后关闭了所有创建的语句,但服务器会在几个小时后停止更新mySQL表。
可能有什么不对?这个设置是错误概念吗?
答案 0 :(得分:0)
也许,您的连接因超时而关闭。 您可以使用Connection#isValid来验证您的连接是否仍处于打开状态。
您可以查看Connection timeout for DriverManager getConnection。列出了几个很好的提示。
此外,您可以考虑在代码中使用Connection Pool。 Apache commons是一个很好的起点。