根据问题现象初步认为是数据库連接出现问题逐用异常作为关键词google(这是我遇见不能解决的问题时惯用的方法);得到了相关信息:1、mysql 数据库链接默认的超时时长为28800秒,2、c3p0 的几个参数意思;
通过以上信息的收集隐隐知道了问题所在(mysql经过28800秒也就是8个小时后关掉空闲链接而c3p0是经过6000000妙才断开链接,就有可能出现c3po保持的连接有可能已经被mysql关掉了自然就出现了hibernate不能打开session,并且都是第二天一早就出错);为了验证我的想法决定在开发机上重現这个错误;首先在mysql配置文件my.ini 加上 wait_timeout=30 让mysql经过30妙就关掉链接,重启应用第一次访问成功,等待一分钟后访问果然出现同样的错误说明问题診断正确,着手修改配置如下:
配置解释:28000<28800 使c3p0 在mysql关不连接之前关闭自己持有的链接配置idleConnectionTestPeriod 参数使c3po每隔28000检查已有的连接是否可用,这样应该確保拿到的连接都是可用的如果还不放心可以加上 testConnectionOnCheckout参数每当拿出连接的时候就检查一下是否可以,这个可能会使mysql有一定的性能牺牲;
通過以上修改检测一段时间没有出现同样问题问题解决!总结解决问题的三个步骤:收集相关信息、重现问题、解决测试。
通过tomcat发布到网上在android服务器端来接受数据,在界面上显示但是这里出现了非常离奇的错误
在里面显示:" ` "这个附近有错误,但是我程序里面没有这个符号呀
我在代码里面沒有写这个" ` "这个符号呀大家知道为什么会提示有这个错误吗