这就神奇了,全在read java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:105) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:148) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:176) - locked <0x00000000e66e3a68> (a com.mysql.jdbc.util.ReadAheadInputStream) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1899) at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:481) at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:1410) at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1133) - locked <0x00000000e66e3d48> (a java.lang.Object) at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:670) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1024) - locked <0x00000000e66e3d48> (a java.lang.Object) - locked <0x00000000e66e3df8> (a com.mysql.jdbc.ServerPreparedStatement) at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:648) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:641) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:670) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:678)
看一下mysql状态 show innodb status;是否发生mysql死锁。 有sleep有客户端请求没有处理完原因。
正在等待客户端发送新请求.
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:105)
at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:148)
at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:176)
- locked <0x00000000e66e3a68> (a com.mysql.jdbc.util.ReadAheadInputStream)
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1899)
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:481)
at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:1410)
at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1133)
- locked <0x00000000e66e3d48> (a java.lang.Object)
at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:670)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1024)
- locked <0x00000000e66e3d48> (a java.lang.Object)
- locked <0x00000000e66e3df8> (a com.mysql.jdbc.ServerPreparedStatement)
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:648)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:641)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:670)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:678)
有sleep有客户端请求没有处理完原因。
用完的连接没有释放掉。。连接泄露但是请求确实在read状态,除了没有返回,我不知道还能是什么
用完的连接没有释放掉。。连接泄露但是请求确实在read状态,除了没有返回,我不知道还能是什么
如果是死锁,后台会报错的。那你再看看程序里面在catch里面rollback了没有..
你把程序结束掉,还是sleep状态吗
用完的连接没有释放掉。。连接泄露但是请求确实在read状态,除了没有返回,我不知道还能是什么
如果是死锁,后台会报错的。那你再看看程序里面在catch里面rollback了没有..
你把程序结束掉,还是sleep状态吗 我没有使用事务,把sleep的连接kill掉后,客户端那边马上报broken pipe,线程释放,立杆见影!
用完的连接没有释放掉。。连接泄露但是请求确实在read状态,除了没有返回,我不知道还能是什么
如果是死锁,后台会报错的。那你再看看程序里面在catch里面rollback了没有..
你把程序结束掉,还是sleep状态吗 我没有使用事务,把sleep的连接kill掉后,客户端那边马上报broken pipe,线程释放,立杆见影!
数据库一直读的原因呢?
用完的连接没有释放掉。。连接泄露但是请求确实在read状态,除了没有返回,我不知道还能是什么
如果是死锁,后台会报错的。那你再看看程序里面在catch里面rollback了没有..
你把程序结束掉,还是sleep状态吗 我没有使用事务,把sleep的连接kill掉后,客户端那边马上报broken pipe,线程释放,立杆见影!
数据库一直读的原因呢?
什么数据库一直读