jdbc执行查询时阻塞在java.net.SocketInputStream.socketRead0

LoongSH 2017-06-21 09:18:08
名称: [ACTIVE] ExecuteThread: '50' for queue: 'weblogic.kernel.Default (self-tuning)'
状态: RUNNABLE
阻塞总数:222 等待总数: 90

堆栈追踪:
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)
oracle.net.ns.Packet.receive(Unknown Source)
oracle.net.ns.DataPacket.receive(Unknown Source)
oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
oracle.net.ns.NetInputStream.read(Unknown Source)
oracle.net.ns.NetInputStream.read(Unknown Source)
oracle.net.ns.NetInputStream.read(Unknown Source)
oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1099)
oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1070)
oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:478)
oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1060)
oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:830)
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1132)
oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1272)
weblogic.jdbc.wrapper.Statement.executeQuery(Statement.java:428)
org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:346)
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:299)
org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:361)
org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:365)
org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:369)
...全文
1604 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
LoongSH 2017-06-22
  • 打赏
  • 举报
回复
引用 1 楼 hanpoyangtitan 的回复:
是不是数据库里有死锁了,或者是有topsql,让管理员查下是否有死锁或者存在性能非常差的sql
的确是的,一个查询调用了一个很耗时间的自定义数据库函数,整个查询执行完成需要10多分钟;而weblogic超时时间设置的是900秒,在超时范围内时,线程一直挂在那,页面也一直加载中;超时后,weblogic会主动断开该线程,导致页面加载失败。 最后只能优化函数逻辑,优化后查询语句的执行时间变成毫秒级的,问题自然解决。
什么都不能 2017-06-21
  • 打赏
  • 举报
回复
是不是数据库里有死锁了,或者是有topsql,让管理员查下是否有死锁或者存在性能非常差的sql

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧