2012-08-07 57 views
0

从昨天开始,我一直在使用WSO2 Data Service Server中的DB2数据源。每天晚上我都有一个计划外壳脚本脚本,它会在数据库中进行维护,但是在某些时候,我必须删除DB2上的所有连接,然后我希望WSO2必须再次绑定连接池,但是当完成此操作时,错误:WSO2数据服务服务器DS通信错误

Nested Exception: - com.ibm.db2.jcc.c.DisconnectException: [ibm][db2][jcc][t4][2030][11211] A communication error has been detected. Communication protocol being used: TCP/IP. Communication API being used: SOCKETS. Location where the error was detected: T4Agent.sendRequest(). Communication function detecting the error: OutputStream.flush(). Protocol specific error codes Broken pipe, *, 0. Message: Broken pipe

Caused by: javax.xml.stream.XMLStreamException: DS Fault Message: Error in 'SQLQuery.processNormalQuery'

我错了,期望或自然得到这个错误后,连接下降?

谢谢。

回答

0

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

干杯, Anjana。

+0

感谢您的答复Anjana,但我试图在此帖子之前使用验证查询没有成功,但我会运行新的测试,如果我有一些进展,我会让你知道。问候。 – 2012-08-08 11:57:46

+0

我的坏Anjana,DS上的测试借用参数是FALSE,那显然它不起作用。默认情况下它是TRUE,我真的不知道它为什么是假。非常感谢!问候,蒂亚戈。 – 2012-08-08 14:24:14

+0

太棒了! 。没有问题! .. – 2012-08-09 02:17:45