java - tomcat7错误日志中的SocketException

标签 java mysql spring tomcat7 c3p0

我在 tomcat7-stderr.{date}.log 文件中发现以下警告。我的日志文件中充满了此日志。

Mon Jun 30 12:27:47 GMT+05:30 2014 WARN: Caught while disconnecting...
** BEGIN NESTED EXCEPTION ** 

java.net.SocketException
MESSAGE: Socket is not connected

STACKTRACE:

java.net.SocketException: Socket is not connected
at java.net.Socket.shutdownInput(Unknown Source)
at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:2261)
at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4697)
at com.mysql.jdbc.ConnectionImpl.close(ConnectionImpl.java:1630)
at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:617)
at com.mchange.v2.c3p0.impl.NewPooledConnection.closeMaybeCheckedOut(NewPooledConnection.java:247)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.destroyResource(C3P0PooledConnectionPool.java:607)
at com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask.run(BasicResourcePool.java:1012)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:636)


** END NESTED EXCEPTION **

我在网上搜索了很多,但没有成功。好像是关于c3p0连接池的。为什么会记录此异常/警告?怎么解决?

一些额外信息

  • 我使用 c3p0 进行连接池。
  • 我正在使用命名的 PIPE 连接到 MySQL 服务器。

这是我的 c3p0 配置。

MINPOOLSIZE=10
ACQUIREINCREMENT=1
MAXPOOLSIZE=500
INITIALPOOLSIZE=10
NUMBERHELPERTHREAD=100
MAXIDLETIME=10
MAXSTATEMENT=20
MAXSTATEMENTPERCONNECTION=5
IDLECONNECTIONTESTPERIOD=120
ACQUIRERETRYATTEMPT=10
ACQUIRERETRYDELAY=100
AUTOCOMMITONCLOSE=false
BREAKAFTERACQUIREFAILURE=false
TESTCONNECTIONONCHECKOUT=true
TESTCONNECTIONONCHECKIN=true

最佳答案

Mysql 论坛已判定此 bug 为 JVM bug。因此,ConnectJ 不会提供任何修复。请查看here了解更多详情。我相信,你这边没什么可做的。

关于java - tomcat7错误日志中的SocketException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24487033/

相关文章:

Java、Spring 国际化(I18N)不工作

spring - Spring Security-如何使另一个用户注销

java - AnnotationAwareAspectJAutoProxyCreator 仅适用于 Java 1.5 及更高版本

mysql - 仅显示重复行中的最新日期

php - 您的 SQL 语法有误 - 靠近“左”)

php mysql分组结果

spring - 具有 Spring 安全性的属性(property)为空

java - Java 中传递给类的引用的内存分配和共享

java - 带有 SWT.VIRTUAL 的 SWT 表引发 StackOverflowError

java - 我们能否在我们的类中重载 = 运算符,使其表现得像 String 类