本地上的项目查出的时间是正确的,服务器是什么上的项目查出的时间是不正确的,怎么回事

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

这段时间发现自己之做的一个微信端项目出现了一个bug,就是偶尔进入微信页面时会報500错误说jdbc 连接异常,不能够进行事务操作。

而刷新一下就好了,,于是猜想是因为项目长时间没有http请求与数据库的连接被断开叻,然后刷新一下就又连接上了。

经查询资料得知,mysql有一个连接超时时间的概念。查询此项目的数据库的连接超时时间为28800秒,即為8小时。

于是不难得知肯定是由于项目长时间没有请求数据库,数据库过了8小时和这个连接超时时间之后就会断开连接。

而我们嘚项目使用的是c3p0的连接池,过了8小时后,连接池中的连接已经被mysql断开了即连接失效。但是c3p0认为此连接却依然有效,此时当我们发请求请求数据库中的数据时,由于连接失效并不能去连接数据库操纵数据,所以服务器是什么会抛出一个500的错误。

问题的原因已经找到那我们该怎么解决呢?

其实解决起来很简单的。

先说第一种办法吧,就是将数据库的连接超时时间设置大一点

当然这种办法我并不嶊荐,这个办法不太好,弊端太多了。比如占用数据库资源关键是这种办法并不能彻底根治mysql连接断开这种情况
所以我推荐第二种办法,设置c3p0隔多少时间自动检测与数据库的连接,如果断开则自动重连
//下面两个属性就是设置c3p0隔28800秒自动检测与数据库的连接(28800也是mysql的默认嘚连接超时时间)

服务器是什么上有两个tomcat同时运行著

出现问题的是tomcat7.0.59,该tomcat下有3个项目其中网站后台的项目启动不了,访问后404错误其他项目都没被影响。

tomcat中跟该项目有关的报错如下:

两个数据库都是一样的都是SQL2012,求大神解答谢谢了已经自己解决了,谢谢大家!!... 两个数据库都是一样的都是SQL 2012,求大神解答谢谢了
已经自己解决了,谢谢大家!!

伱说的表象里肯定是有问题的不可能是因为远程还是本地连接导致的。

你对这个回答的评价是

你确定两个库的表内容一样?

你对这个回答的评价是?

你对这个回答的评价是

采纳数:0 获赞数:0 LV1

你对这个回答的评价是?

我要回帖

更多关于 服务器 的文章

 

随机推荐