2012-11-17 195 views
1

作为标准程序之后,MySQL连接丢失后陈述的小时(默认值:8)数目不活动。为了确定这样的连接后重新连接到MySQL服务器丢了,我根本就connection = DriverManager.getConnection(url, user, password);重新连接到MySQL连接超时

我不使用连接池,并为这一招没有在以前的连接丢失相关的帖子,让我不知道是否我的代码会产生任何提及后期的副作用? (我这样说是因为上面的测试实例此代码后,我发现sessionlistner session.invalidate()调用之后不叫。)

回答

1

,如果你的连接中断,您将失去临时表和会话设置。这听起来像一个连接池会在你的情况下有用。

+0

是的,我想我正在经历这个。尽管我重新获得了MySql连接,但是tomcat没有更多的连接信息。我不希望在网站上面临任何繁重的流量,因此尝试使用调度程序,及时向数据库发出查询,以保持连接活跃[link for即](http://stackoverflow.com/questions/4691132/how-to-keep-the-servlet-continously-running/4691650#4691650)。如果这不起作用,连接池将是我最后的手段。 – mrig

1

取决于你如何处理连接对象(S),它可以创建小客户端连接对象丢失的内存泄漏。但是,这种影响可能会很小,以至于你永远不会看到任何问题。

为了最大限度地降低此风险,您可以在空闲时间内每隔几分钟通过SELECT 1执行一些操作,使连接仍处于活动状态(除非您的客户端完全关闭)。

+0

谢谢mvp,我想我会试一试在java servlet中使用调度器。 – mrig