当我尝试使用连接池对象在 DB2 中执行查询时,我遇到了严重的问题。我的应用程序部署在 WebSphere 7 中并位于 AIX 机器上,而 DB2 正在运行另一个 AIX 机器。问题是间歇性的。当我搜索server.log
文件时,我得到了以下异常捕获。
java.net.SocketException: There is no process to read data written to a pipe. at
java.net.SocketOutputStream.socketWrite0(Native Method) at
java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:103) at
java.net.SocketOutputStream.write(SocketOutputStream.java:147) at
com.ibm.db2.jcc.t4.fb.b(fb.java:1685) at
com.ibm.db2.jcc.t4.fb.a(fb.java:1633) at
com.ibm.db2.jcc.t4.a.D(a.java:416) at
com.ibm.db2.jcc.t4.a.r(a.java:380) at
com.ibm.db2.jcc.am.n.a(n.java:219) at
com.ibm.db2.jcc.am.go.b(go.java:4302) at
com.ibm.db2.jcc.am.go.fc(go.java:741) at
com.ibm.db2.jcc.am.go.executeQuery(go.java:711)
但是如果我尝试创建一个连接对象,则不会出现上述问题,只有现有连接池对象存在问题。