每天第一次进入网站会报这个错,只有第一次访问的时候,是不是因为mybatis缓存的问题 5C

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.RecoverableDataAccessException:

Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 163,547,737 milliseconds ago. The last packet sent successfully to the server was 163,547,738 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

The error may exist in file [/home/apache-tomcat-8.5.33/webapps/ROOT/WEB-INF/classes/conf/mapper/NewsDao.xml]

The error may involve defaultParameterMap

The error occurred while setting parameters

SQL: select count(*) from t_news where type=?

Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 163,547,737 milliseconds ago. The last packet sent successfully to the server was 163,547,738 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

; SQL []; The last packet successfully received from the server was 163,547,737 milliseconds ago. The last packet sent successfully to the server was 163,547,738 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 163,547,737 milliseconds ago. The last packet sent successfully to the server was 163,547,738 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:979)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:858)
javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause

org.springframework.dao.RecoverableDataAccessException:

Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 163,547,737 milliseconds ago. The last packet sent successfully to the server was 163,547,738 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

The error may exist in file [/home/apache-tomcat-8.5.33/webapps/ROOT/WEB-INF/classes/conf/mapper/NewsDao.xml]

The error may involve defaultParameterMap

The error occurred while setting parameters

SQL: select count(*) from t_news where type=?

Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 163,547,737 milliseconds ago. The last packet sent successfully to the server was 163,547,738 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

; SQL []; The last packet successfully received from the server was 163,547,737 milliseconds ago. The last packet sent successfully to the server was 163,547,738 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 163,547,737 milliseconds ago. The last packet sent successfully to the server was 163,547,738 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:98)
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:74)
org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:399)
com.sun.proxy.$Proxy11.selectOne(Unknown Source)
org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:165)
org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:69)
org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53)
com.sun.proxy.$Proxy21.pageNum(Unknown Source)
cmcc.service.NewsService.pageNum(NewsService.java:23)
cmcc.web.font.NewsController.newsevents(NewsController.java:52)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:858)
javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

0

2个回答

sql报错把 SQL: select count(*) from t_news where type=? type 没值啊

0

这个问题本质上是数据库连接池的问题,如果再往深里讲是TCP连接失效导致连接不可用。这里需要了解下面几个名词的含义,首先是连接池,连接池里维护一组jdbc连接,这些连接在系统运行某个时间可能有一些连接被线程使用,也有一些连接处于空闲状态,这里当然也存在状态转换,空闲的连接会转换为被占用状态,被占用状态也会转换为空闲状态。其中被占用状态转换为空闲状态需要钝化,也就是初始化,同时钝化也会检查连接的状态是否还可以使用,如果发现连接异常就把连接销毁。jdbc连接本质就是TCP连接,这个连接什么时间会断掉,这是个概率问题,但是大致上我们知道如果mysql认为该连接长时间未使用服务器会主动断掉连接,如果使用proxy,它也会根据策略关闭连接。但是需要注意的是TCP连接是全双工工作,单方面关闭连接不会导致TCP连接关闭,也就是说服务器关闭了连接但是TCP连接还在,这种就很麻烦了,这样导致连接池中维护的连接会存在不健康的连接,也就是连接虽然还在但是已经不能用了。这时候我们从连接池中取出一个不健康的连接发请求是没问题的,但是一旦客户端调用read方法想读服务器返回数据就会抛出异常。这就是你上面返回一坨异常的根本原因。知道原因下面就好办了,本质上是连接坏掉了,两种处理手段:第一种是乐观解决方案,认为该问题不会频繁出现,等待出现了在解决,我们只需要catch住这个异常然后重新取一个连接就好了。这种方式可以给连接池配置一个自动重连机制。第二种是取出连接之前先检测一下连接健康,但是这种策略比较费劲,我建议使用第一种方案

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
js 实现 使窗口只第一次访问时弹出
js 实现 使窗口只第一次访问时弹出! 值得下载看看!资源免费,大家分享!!
PC端判断用户是否首次进入网站
首先引入 jQuery 和 jQuery.cookie,原理非常简单,给 cookie 设置一个 visits 值,通过这个值来判断用户是否是第一次访问本站。 提示:cookie 是需要服务环境支持的,本地不起作用。
第一次访问页面速度慢,以后每次的速度都比较快的问题原因分析及解决
第一次访问页面速度慢,以后每次的速度都比较快的问题原因分析及解决 问题描述 在我们第一次打开访问Jsp页面时速度会比较慢,但以后每次的速度都比较快。 原因分析 在第一次打开Jsp页面时,有一个转换和编译过程,将Jsp文件编译成.Java或者.class文件; .Java文件是一个继承自http servlet类的,也就是将.Jsp转换为servlet代码,所以,.Jsp也可以看成是一个servl...
JS判断页面首次访问
web交流Q:460053411,欢迎留言! 页面首次访问判断 GO //1浏览器关闭则window.name为空,可以实现跨域,数据传递 // alert((window.name == "" ? "是" : "不是") + "第一次开这个窗口!") // window.name = "00";//2cookie判断function setCookie
js判断当前页面是不是第一次被访问
    if(document.cookie.indexOf("a=hello")==-1){        alert("首次打开!");        var t=new Date(new Date().getTime()+1000*60*60*24*30);        document.cookie="a=hello; expires="+t.toGMTString();    }els...
关于 如何判断-浏览器首次访问判断
关于 如何判断-浏览器首次访问判断 没看懂,只会用,先记下来,~汗!!!! 页面首次访问判断 GO //1浏览器关闭则window.name为空,可以实现跨域,数据传递 alert((window.name == "" ? "是" : "不是") + "第一次开这个窗口!") window.name = "00"; //cookie判断 func
判断用户是否是第一次进入某个页面
此方法用法:判断用户是否是第一次进入这个页面
js判断第一次打开页面
if(!window.name) { //console.log("第一次打开"); window.name = "myname" //第一次打开时设置name localStorage.clear(); //清全部缓存 }
如何判断用户是否为第一次进入app或者是第一次进入指定页面
如何判断用户是否为第一次进入app或者是第一次进入指定页面
解决Asp.net Web网站第一次访问慢的问题
症状 Asp.net编写的网站发布到IIS之后,第一次访问会特别慢。而访问了第一个页面之后,再访问其他页面就快乐。 通常表现为访问首页慢,然后访问内页就快了。然后每隔个几十分钟或1个小时之后再访问,又慢了。 解决方案 设置网站对应的应用程序池的"闲置超时"为0。如下图所示: 原因分析 查了一下资料,“工作进程(w3wp.exe)会在不活动
js实现第一次打开页面弹出提示
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Typ
实际项目需求,用户当天第一次进入首页进行弹窗,当天再次进入不进行弹窗,以后进入也按此规律弹窗提示
实际业务需求:在用户当天首次进入时弹窗提示活动,再次进入不提示,以后每天进入按此规律提示 解决需求:前端通过cookie进行业务的实现 逻辑: 没有设置特定cookie或者当前日期大于cookie设置的日期则进行弹窗 不弹窗 代码实现,主要技术vue: 其实目前实现的是不区分用户,浏览器为谷歌,记录的也是当天某一个人进入首页的时期 (存在的问题,如果不同的用户在同一个浏览器不同时刻进入首页,那...
网页弹窗广告(网页每天首次打开弹出广告,此后刷新不再显示)
类似京东双十一广告效果,网页每天首次打开弹出广告,此后的有效时间内刷新将不再显示。 1.导入jQuery文件和cookie文件,如图: 2.定义弹窗层代码 关闭 3.添加css样式 *html .advbox{position:absolute;top:expression(eval(document.docum
第一次连接数据库时速度很慢问题解决
问题描述: 在web容器加载完毕后,调用接口时,init连接池时,速度很慢 速度可能在1分钟左右,主要是因为它会先去查询DNS,然后再连接。 解决方案:在mysql的配置文件中配置skip-name-resolve 结果:速度有明显提升 具体步骤: 1.查找到mysql的配置文件 (这里我是在/etc/my.cnf) 2.修改配置文件 主要是在 ...
第一次进入网站弹窗提示更新日志,之后不再显示
如何在第一次打开网站弹框,之后重新打开,刷新,跳转过来就不打开? 使用HTML5的本地存储localStorage来做 var versionNo = '1.1.1'; if(!window.localStorage.getItem('update-version') || window.localStorage.getItem('update-version') !=versionN...
如何记录客户端浏览器第一次访问服务器的时间,并且在第二次访问服务器时再给客户端浏览器
第一步把访问时间的数据cookie 响应给了浏览器1. 首先先new出来一个cookie,然后name命名成time,value需要用一个变量保存你需要的那个时间 2. 再需要new一个Date对象来保存你需要的那个字符串, 然后在new一个dateFormate对象,来格式化时间对象 3. 定一个字符串来保存data 用simpleDateFormat.format(date); 4. 在通过添
Tomcat权限问题,导致每次访问页面第一次正常,第二次报错404
Tomcat报错,WARNING: Failed to delete generated Java file [/var/tomcat/default/work/Catalina/localhost/_/org/apache/jsp/WEB_002dINF/jsp/frontend/usercent/Starting_005fwork_jsp.java] 此问题是因为,没有去写 /var
IIS 网页在每天第一次打开慢的原因及解决
今天碰到一个问题,我们的网页在早晨的时候打开总是很慢,其它时间有时也比较慢。开始认为是服务器性能的问题,监测服务器资源使用后,发现服务器的资源没有在高水平运行,可以确定不是服务器硬件性能的问题,后来检查日志发现:IIS有定期回收应用程序池的设置,默认是应用程序池闲置(没有请求,没有运算)20分钟后就关闭该应用程序池的进程,释放资源,这样再有客户端请求的情况下,再启动程序,建立进程,这肯定会有延迟。了
jquery.cookie.js 每天首次打开页面时弹出广告
①去jquery官网下载 jquery库文件  以及  jquery.cookie.js; ②引入:&amp;lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery-1.10.2.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;                &amp;lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.c.
web项目外网访问第一次加载特别慢,但以后特别快,在线资源连接失效的原因
最近开发项目时使用了一个静态模板,不知为什么通过外网访问页面加载的特别慢,需要一分多钟,在对js优化后仍然没有效果,最后发现页面加载时一直在显示等待fonts.useso.com的相应,查阅资料发现这是360提供的公共库,因为谷歌大陆的公共库恢复了,360停止服务了,所以要更换成谷歌,通过查找后在head上面发现了它: <link href='http://fonts.useso.com/css?f
Http首次访问较慢原因
今天在测试时发现http和https性能差距明显(nginx),个人在POSTMAN测试后发现的现象: 1 http第一次访问比较慢 2 https第一次访问会比较慢 3 http 和https存在非常明显的差异,http和https第一访问用时性能差距十分明显,但第二次访问用时差距不大了。 虽然服务器在墙外,但这个速度还是无法接受,整理了下需要回答这三个问题所需要用到的知识,关于更专业的...
java中判断用户今天是否第一次登录,若是则加积分,反之亦然
具体思路: 数据库中有一个datet
如何用js实现每天第一次登录弹出一个对话框?
https://segmentfault.com/q/1010000005027569  
MVC第一次访问比较慢的解决方案
一、NGen优化 %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\ngen install EntityFramework.Core.dll %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\ngen install EntityFramework.MicrosoftSqlServer.dll 注:...
tomcat启动后,第一次访问时间很长
问题 最近遇到一个tomcat的问题,在Linux环境中,启动tomcat后,日志停留在 这个位置, 而且tomcat也无法请求,接口请求没有任何反应。 开始以为是tomcat或者项目配置的问题,但修改多个配置后并没有任何作用;然而,在小编本地的项目中,启动tomcat发送请求等是完全没有问题的。各种尝试之后,仍是失败。。。思忖很久之后,重新看了一遍Linux系统的日志,tomcat居然...
JavaScript判断页面是第一次访问,还是刷新访问!
JavaScript判断页面是第一次访问,还是刷新访问! &amp;lt;script&amp;gt; var firstLogin = {$firstLogin}; var visits = {$visits}; if(firstLogin == 1 &amp;amp;&amp;amp; visits == 1){ if(!window.na...
IIS访问首次启动加载慢的解决方案(不适用IIS7.5以下版本)
.net开发的程序部署在IIS上面的时候,首次访问加载会比较缓慢。无论是网站或者webservices或者webapi都是一个德行。 现在针对IIS7.5提供了一些方法和工具,还有系统级别的配置。
第一次连接MySqL数据库 非常慢
网上查了相关知识,解释如下: 当新的客户连接mysqld时,mysqld创建一个新的线程来处理请求。该线程先检查是否主机名在主机名缓存中。如果不在,线程试图解析主机名。 mysql的配置文件  /etc/mysql/my.cnf   中添加如下项 [mysqld] skip-name-resolve 重启MySQL或重启机器 service mysqld r
连接第一次连接MySqL数据库 相当慢
使用Java程序连接MySql数据库时,发现启动相关慢。 对代码进行测试,发现第一次连接时较慢。 以前用C++连接Oracle时,也遇到类似的问题。 当时找到原因是由于Oracle对连接进行了域名解析,由于DNS服务器不可达,要等到连接超时后,才抛出异常。详细信息请参考 http://blog.csdn.net/lijing_lj928/article/details/46953085 点
springboot项目启动后第一次执行controller方法时进入很慢
原因: tomcat的session生成策略问题, 转载:   文章地址: https://my.oschina.net/malq/blog/1614127                              https://my.oschina.net/wangnian/blog/687914 解决办法: 找到安装的jre目录,如jre/lib/security,然后修改java.s...
vue项目第一次无法登陆,刷新后可以登录
源代码: getUserInfo({commit}, params) { return new Promise((resolve, reject) =&amp;gt; { user.getUserInfo(params) .then((response) =&amp;gt; { commit(types.SET_USERINFO, {userInfo: response}...
学习Spring Cloud第十三课(解决第一次访问报超时的问题)
在前几节课我们第一次访问http://localhost:8010/movie/1这个地址的时候经常会看到超时错误,这个错误其实是因为feign集成了hystrix,而hystrix默认的超时时间是1秒,如果我们的请求超过了1秒,那么就会报超时错误。        针对这种情况,有三种方法可以解决:        在microservice-simple-consumer-movie-feig
IIS初始化(预加载),解决第一次访问慢,程序池被回收问题
IIS初始化(预加载),解决第一次访问慢,程序池被回收问题
图解IIS8上解决ASP.Net第一次访问慢的处理
本篇经验以IIS8,Windows Server 2012R2做为案例。 IIS8 运行在 Windows Server 2012 and Windows 8 版本以上的平台上。 IIS中应用程序池和网站是单独存在的,但是网站运行必须建立在对应的应用程序池启动的前提下。 默认情况下,应用程序池在不活动情况下(无请求操作),一段时间后,将被IIS自动回收掉。 II
Tomcat 重启后第一次访问特别慢的问题
Tomcat 重启后第一次访问特别慢的问题 在阿里云或腾讯云上使用ECS时,启动Tomcat后,第一次访问时间特别长。 怎么解决这个问题呢。 找到Tomcat 使用JDK安装目录,例如,我的服务器JDK安装目录是: cd /opt/software/ cd jdk1.8.0_181/jre/lib/security 编辑java.security文件: vim java.security 找...
Spring boot应用启动后首次访问很慢的问题
Spring boot应用在ECS服务器上启动后首次访问很慢的问题 环境: CentOS7 JDK1.8 MYSQL8 应用是Spring boot框架的(内嵌式tomcat)jar文件 问题描述: 通过命令:nohup java -jar XXXX.jar &amp;amp;amp; 启动项目后浏览器访问响应十分的缓慢,网页图片和css等静态资源加载的十分缓慢(网站登录更是需要好几分钟才能完全加载完毕)。 ...
nginx,tomcat发布第一次访问不到问题
nginx,tomcat发布第一次访问不到问题   导致第一次空白页面,要么是超时,要么是http的头过大,nignx文件连接数过小     tomcat maxHttpHeaderSize=&quot;102400&quot;     严重: Error processing request org.apache.coyote.http11.HeadersTooLargeException: ...
JS 网站第一次点击打开指定的链接
&amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html lang=&quot;zh-cn&quot;&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt; &amp;lt;div style=
怎么判断页面是第一次打开还是刷新!
如果页面第一次打开的话就显示该图片,刷新,后退不显示该图片 <!-- function cc() { if(window.name=="") { AlertMsg(); } window.name="blueidea"; } functi
解决Spring Cloud第一次调用失败
在Spring Cloud中,即使项目没有整合Hystrix后,也可能会出现首次调用失败的问题,要如何解决该问题呢? Hystrix默认的超时时间是1秒,如果超过这个时间尚未响应,将会进入fallback代码。而首次请求往往会比较慢(因为Spring的懒加载机制,要实例化一些类),这个响应时间可能就大于1秒了。解决方法:在项目的配置文件里面添加:hystrix: command: de
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java的一些学习这个。 java每天学习