解决数据库连接池连接mysql时,每隔8小时mysql自动断开连接的问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解决数据库连接池连接mysql 时,8小时mysql 自动断开连接的问题文章分类:数据库解决数据库连接池连接mysql 时,8小时mysql 自动断开所有连接的问题最近有个问题非常讨厌,我们的工程中使用自己的连接池连接mysql 数据库,可mysql 数据库8小时就会自动断开所有链接,连接池就失效,需要重新启动tomcat 才有效,呵呵,服务器可不能老是用“人工智能”来干预啊,后来翻了一下mysql 的手册,发现mysql 有解决办法,下面就是最简单的解决办法:连接数据库的时候加上autoReconnect=true 这个参数:
jdbc:mysql://localhost:3306/accounant?useUnicode=true& characterEncoding=UTF-8&au toReconnect=true 但是,在mysql 手册中有这样一段话:autoReconnect 驱动程序是否应尝试再次建立失效的和/或死连接?如果允许,对于在失效或死连接上发出的查询(属于当前事务),驱动程序将抛出异常,但在新事务的连接上发出下一个查询时,将尝试再连接。不推荐使用该特性,这是因为,当应用程序不能恰当处理SQLExceptions 时,它会造成与会话状态和数据一致性有关的副作用,设计它的目的仅用于下述情况,即,当你无法配置应用程序来恰当处理因死连接和/或无效连接导致的SQLExceptions 时。作为可选方式,可将MySQL 服务器变量“wait_timeout”设置为较高的值,而不
是默认的8 小时。呵呵,不知道这种“副作用”会产生什么后果,难道会使tomcat 崩溃??会产生“数据一致性”问题??保险一点的办法还是增加“wait_timeout”这个值吧,把28800 设置成更大的值,这样应该就不会有什么问题了吧。注:目前我使用的是autoReconnect 这种方式,未发现什么问题。