java jdbc is一个会话_java – 使用jdbc与oracle 11.2交谈时挂起的ResultSet.next()

我们有一个使用jdbc与oracle 11.2对话的

java应用程序.我们正在使用oracle-jdbc-7.jar

Created-By: 20.12-b01 (Sun Microsystems Inc.)

Implementation-Vendor: Oracle Corporation

Implementation-Title: JDBC

Implementation-Version: 12.1.0.1.0

我们也使用Statement.setQueryTimeout()

但是,每隔几天,在执行ResultSet.next()时,与oracle交谈的线程就会挂起.

代码如下所示:

PreparedStatement ps = createPreparedStatement();

ps.setQueryTimeout(60);

while (true) {

ps.executeQuery();

//iterate over the ResultSet doing ResultSet.next() continuously

//do something with the ResultSet

//sleep for 1 second.

}

Threaddump:

java.lang.Thread.State: RUNNABLE

at java.net.SocketInputStream.socketRead0(Native Method)

at java.net.SocketInputStream.read(SocketInputStream.java:152)

at java.net.SocketInputStream.read(SocketInputStream.java:122)

at oracle.net.ns.Packet.receive(Packet.java:311)

at oracle.net.ns.DataPacket.receive(DataPacket.java:105)

at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:305)

at oracle.net.ns.NetInputStream.read(NetInputStream.java:249)

at oracle.net.ns.NetInputStream.read(NetInputStream.java:171)

at oracle.net.ns.NetInputStream.read(NetInputStream.java:89)

at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:123)

at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:79)

at oracle.jdbc.driver.T4CMAREngineStream.unmarshalUB1(T4CMAREngineStream.java:426)

at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:390)

at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)

at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:566)

at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:215)

at oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:1022)

at oracle.jdbc.driver.OracleStatement.fetchMoreRows(OracleStatement.java:3590)

at oracle.jdbc.driver.InsensitiveScrollableResultSet.fetchMoreRows(InsensitiveScrollableResultSet.java:1008)

at oracle.jdbc.driver.InsensitiveScrollableResultSet.absoluteInternal(InsensitiveScrollableResultSet.java:972)

at oracle.jdbc.driver.InsensitiveScrollableResultSet.next(InsensitiveScrollableResultSet.java:572)

- locked <0x00000000d0873738> (a oracle.jdbc.driver.T4CConnection)

任何解决这个问题的想法都会受到赞赏吗?

我们尝试过使用openjdk7和oracle的JDK 7,但它没有帮助.

谢谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值