0

从昨天开始,我一直面临 WSO2 数据服务服务器中的 DB2 数据源问题。每天晚上我都有一个计划 shell 脚本脚本,它在数据库中进行维护,但是在某些时候我必须删除 DB2 上的所有连接,然后我希望 WSO2 必须再次绑定连接池,但是完成后我得到了这个错误:

嵌套异常:- com.ibm.db2.jcc.c.DisconnectException:[ibm][db2][jcc][t4][2030][11211] 检测到通信错误。使用的通信协议:TCP/IP。正在使用的通信 API:SOCKETS。检测到错误的位置:T4Agent.sendRequest()。检测错误的通信函数:OutputStream.flush()。协议特定错误代码 Broken pipe, *, 0. Message: Broken pipe

原因:javax.xml.stream.XMLStreamException:DS 错误消息:“SQLQuery.processNormalQuery”中的错误

连接断开后我是否错误地期望或自然会出现此错误?

谢谢。

4

1 回答 1

0

是的,您得到的错误是可以预料的,因为当 DB2 丢弃连接时,连接池中的数据库连接变得无效。所以第一个去数据服务的请求会失败。要处理此问题,请使用数据源中的“validationQuery”选项来解决此问题。您可以使用“从 sysibm.sysdummy1 中选择 1”之类的查询作为验证查询,每次使用连接池中的连接之前都会调用该查询。

干杯,安佳娜。

于 2012-08-08T09:01:07.877 回答