tomcat jndi 连接 mysql 报 BEGIN NESTED EXCEPTION 错误的解决办法
来源:互联网 发布:php新手入门教程 编辑:程序博客网 时间:2024/04/28 20:07
我在 tomcat conf 目录下配置了一个jndi
<Resource name="jdbc/mydb" scope="Shareable" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" url="jdbc:mysql://localhost:3306/mydb" driverClassName ="com.mysql.jdbc.Driver" username="aaa" password="123456"/>
刚开始使用没问题,一段时间之后出现这个错误
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.io.EOFExceptionSTACKTRACE:java.io.EOFException at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1956) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2368) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2867) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1616) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1708) at com.mysql.jdbc.Connection.execSQL(Connection.java:3255) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1293) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1428) at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93) at com.blasetti.ordiniweb.dao.OrdiniDAO.caricaOrdine(OrdiniDAO.java:263)...** END NESTED EXCEPTION **Last packet sent to the server was 0 ms ago. com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2579) com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2867) com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1616) com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1708) com.mysql.jdbc.Connection.execSQL(Connection.java:3255) com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1293) com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1428) org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93) com.blasetti.ordiniweb.dao.OrdiniDAO.caricaOrdine(OrdiniDAO.java:263)...
这是因为服务端一段时间之后会假定客户端已经断开连接了,所以主动断开,而客户端不知道,所以再使用这个连接池的时候就会报这个错。解决办法是配置客户端连接池的定期检查
<Resource name="jdbc/mydb" scope="Shareable" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" url="jdbc:mysql://localhost:3306/mydb?autoReconnect=true&useUnicode=true&characterEncoding=utf8" driverClassName ="com.mysql.jdbc.Driver" username="abc" password="123456"validationQuery="Select 1"maxActive="100" maxIdle="30" maxWait="10000"/>
解释下
- 增加?autoReconnect=true&useUnicode=true&characterEncoding=utf8
- 增加validationQuery="Select 1"
0 0
- tomcat jndi 连接 mysql 报 BEGIN NESTED EXCEPTION 错误的解决办法
- hibernate 连接 mysql BEGIN NESTED EXCEPTION 错误
- 关于MySQL的wait_timeout连接超时(BEGIN NESTED EXCEPTION )
- 连接MySql的时候报1130的错误解决办法
- 连接MySql的时候报1130的错误解决办法
- Eclipse报Unhandled event loop exception错误的解决办法
- Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION **
- Tomcat使用JNDI连接MYSQL数据库
- 连接MySql的时候报1130的错误解决办法以及远程登陆方法.
- Navicat连接Mysql报1042- Can't get hostname for your address错误的解决办法
- 微软云Linux服务器 Mysql、tomcat远程连接错误解决办法
- null Nested exception: null 错误
- mysql远程连接报10038的错误
- Mysql连接1130错误的解决办法
- Tomcat启动报“严重: Error listenerStart”错误的解决办法
- tomcat配置用户登录报403错误的解决办法
- Jsp空间上TOMCAT报 error listenerstart错误的解决办法
- python安装的时候报SSL连接错误的解决办法
- 9.2-anagrams排序
- ZOJ3818
- C++ 11 Lambda表达式
- 现在通过json和gson来实现完成一个级联下拉列表框
- Qt中的正则表达式类QRegExp
- tomcat jndi 连接 mysql 报 BEGIN NESTED EXCEPTION 错误的解决办法
- Selenium2.0之grid学习总结
- UVA 10123 No Tipping
- 花生壳穿透、nat123穿透、金万维穿透、PP透,它们都是怎样穿透内网的
- JSP元素归纳总结
- Django 的分页插件 django-pagination 使用
- c语言将字符串写入文件
- Hadoop下的Hbase的region服务器
- UIView类的常用扩展<一>