2012-08-07 76 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