嗨,在websphere应用程序中,jvm在两个月内挂起两次,导致整个应用程序崩溃,因此需要知道是因为数据库连接速度慢还是驱动程序问题。日志片段是
There is/are 1 thread(s) in total in the server that may be hung.
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:155)
at oracle.net.ns.Packet.receive(Packet.java:283)
at oracle.net.ns.DataPacket.receive(DataPacket.java:103)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:230)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:175)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:100)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:85)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:123)
at oracle.jdbc.driver.T4CSocketInputStreamW.rapper.read(T4CSocketInputStreamWrapper.java:79)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1122)
at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1099)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:288)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
at oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:1084)
at oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:359)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:263)
at org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:169)
at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:619)
at com.common.database.ResultSetHandler.invoke(ResultSetHandler.java:44)
** at $Proxy1.next(Unknown Source)**
at com.common.database.CachedRowSetImpl.populate(CachedRowSetImpl.java:597)
at com.common.database.PreparedStatementHandler.invoke(PreparedStatementHandler.java:47)
**at $Proxy0.executeQuery(Unknown Source)**
答案 0 :(得分:1)
当您在调用java.net.SocketInputStream.socketRead0()
方法时发现挂起时,可能是由于多种原因造成的。
IBM WebSphere Application Server与远程资源(在您的Oracle数据库中)之间的网络问题
该应用程序只是读取大量数据。
Oracle数据库没有响应,或者遇到性能问题导致响应缓慢。
您可以在以下IBM链接中找到更多信息: