【问题标题】:WSO2 Data Service Server DS Communication ErrorWSO2 数据服务服务器 DS 通信错误
【发布时间】:2013-12-28 20:41:10
【问题描述】:

从昨天开始,我一直面临 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”中的错误

连接断开后出现此错误是我的错误预期还是自然而然?

谢谢。

【问题讨论】:

    标签: db2 wso2 datasource wso2carbon wso2dss


    【解决方案1】:

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

    干杯, 安佳娜。

    【讨论】:

    • 感谢 Anjana 的回复,但是我在这篇文章之前尝试使用验证查询没有成功,但我会运行新的测试,如果我有一些进展,我会告诉你.问候。
    • 我的坏 Anjana,我的 DS 上的 Test On Borrow 参数是 FALSE,那么显然它不会起作用。默认情况下它是 TRUE,我真的不知道为什么它是 FALSE。非常感谢!问候,蒂亚戈。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多