有时我在使用DBCP在jboss 7上运行的应用程序上遇到以下错误。 我想了解:这是否意味着oracle.jdbc.ReadTimeout是否在我的应用程序上配置?我该如何检查什么是oracle.jdbc.ReadTimeout值?
Caused by: oracle.net.ns.NetException: Socket read timed out
at oracle.net.ns.Packet.receive(Packet.java:320)
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:122)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:78)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1179)
at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1155)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:279)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521)
答案 0 :(得分:1)
你的第一个问题的答案是肯定的。如果您看到此异常,则必须设置读取超时属性。默认情况下,没有读取超时,因此您永远不会看到此异常。
你的第二个问题的答案是'它取决于'。可以在命令行中将读取超时设置为-D
的系统属性。它也可以通过DataSource
属性设置。在脚本中尝试grep
oracle.jdbc.ReadTimeout
。