我正在使用一个下拉向导服务器来服务http请求。这个下拉向导应用程序支持我的mysql服务器进行数据存储。但是,当闲置(一夜之间)的时候,我做了一些我认为可能有帮助的事情,这给了我一个“断管例外”。我将yaml文件中的jdbc url设置为‘’autoConnect=true‘。我还添加了一个'checkOnBorrow‘属性。我增加了jvm,使其使用4gb,这些修复都不起作用。另外,wait_timeout和‘mysql的interactive_timeout设置为8个小时。这需要更多/更少吗?
还有可以在下拉向导yaml文件中设置的配置属性吗?换句话说,在下拉向导中如何管理连接池?
发布于 2015-04-08 17:02:28
问题是:
MySql服务器配置了超时,在超时之后,它将终止连接池中的所有空闲连接。在我的情况下,这是默认的(8小时)。但是,数据库连接池不知道池中终止的连接。因此,当新请求传入时,将从teh连接池访问死连接,这将导致“断开管道”异常。
解决方案:因此,要解决这个问题,我们需要摆脱死连接,并让池知道它试图借用的连接是否是死连接。这可以通过在.yml配置中设置以下内容来实现。
checkOnReturn:真
checkWhileIdle:真
checkOnBorrow:真
https://stackoverflow.com/questions/29493815
复制相似问题