首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自postgresql的Wso2dss连接关闭异常

来自postgresql的Wso2dss连接关闭异常
EN

Stack Overflow用户
提问于 2015-09-02 05:34:45
回答 1查看 822关注 0票数 1

我是WSO2的DSS3.0.0和postgresql的工作人员。

我已经部署了几个数据服务,并被称为我的Wso2esb代理服务,一切正常工作,但是过了一段时间,我的dss中出现了一个错误,如下所示

代码语言:javascript
复制
DS Fault Message: Error in 'SQLQuery.processNormalQuery'
DS Code: DATABASE_ERROR
Source Data Service:-
Name: tlocationtrack_DataService2.0
Location: /tlocationtrack_DataService2.0.dbs
Description: N/A
Default Namespace: http://ws.wso2.org/dataservice
Current Request Name: Insertinto_tlocationtrack_OP
Current Params: {geolocation=17.720311,78.473837, userid=2579878364153500, trackdate=1441129831385, accuracy=54.0, deviceid=353323065783531}
Nested Exception:-
DS Fault Message: Error in 'createProcessedPreparedStatement'
DS Code: UNKNOWN_ERROR
Nested Exception:-
org.postgresql.util.PSQLException: This connection has been closed.


        at org.wso2.carbon.dataservices.core.description.query.SQLQuery.processNormalQuery(SQLQuery.java:808)
        at org.wso2.carbon.dataservices.core.description.query.SQLQuery.runQuery(SQLQuery.java:2098)
        at org.wso2.carbon.dataservices.core.description.query.Query.execute(Query.java:252)
        at org.wso2.carbon.dataservices.core.engine.CallQuery.executeElement(CallQuery.java:179)
        at org.wso2.carbon.dataservices.core.engine.CallQueryGroup.executeElement(CallQueryGroup.java:111)
        at org.wso2.carbon.dataservices.core.engine.OutputElement.execute(OutputElement.java:89)
        at org.wso2.carbon.dataservices.core.description.operation.Operation.execute(Operation.java:71)
        at org.wso2.carbon.dataservices.core.engine.DataService.invoke(DataService.java:569)
        at org.wso2.carbon.dataservices.core.engine.DSOMDataSource.execute(DSOMDataSource.java:99)
        at org.wso2.carbon.dataservices.core.engine.DSOMDataSource.serialize(DSOMDataSource.java:110)
        at org.wso2.carbon.dataservices.core.engine.DSOMDataSource.getReader(DSOMDataSource.java:116)
        at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.getDirectReader(OMSourcedElementImpl.java:225)
        at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.getXMLStreamReader(OMSourcedElementImpl.java:498)
        at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.getXMLStreamReaderWithoutCaching(OMSourcedElementImpl.java:507)
        at org.wso2.carbon.dataservices.core.DBUtils.cloneAndReturnBuiltElement(DBUtils.ja

va:756)
            at org.wso2.carbon.dataservices.core.dispatch.DataServiceRequest.dispatch(DataServiceRequest.java:288)
    :
    at java.lang.Thread.run(Thread.java:745)
Caused by: DS Fault Message: Error in 'createProcessedPreparedStatement'
DS Code: UNKNOWN_ERROR
Nested Exception:-
org.postgresql.util.PSQLException: This connection has been closed.

        at org.wso2.carbon.dataservices.core.description.query.SQLQuery.createProcessedPreparedStatement(SQLQuery.java:1379)
        at org.wso2.carbon.dataservices.core.description.query.SQLQuery.processNormalQuery(SQLQuery.java:766)
        ... 52 more
Caused by: org.postgresql.util.PSQLException: This connection has been closed.
        at org.postgresql.jdbc2.AbstractJdbc2Connection.checkClosed(AbstractJdbc2Connection.java:714)
        at org.postgresql.jdbc3.AbstractJdbc3Connection.prepareStatement(AbstractJdbc3Connection.java:361)
        at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126)
        at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:99)
        at org.wso2.carbon.ndatasource.rdbms.ConnectionRollbackOnReturnInterceptor.invoke(ConnectionRollbackOnReturnInterceptor.java:51)
        at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:99)
        at org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:67)
        at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:99)
        at org.apache.tomcat.jdbc.pool.interceptor.ConnectionState.invoke(ConnectionState.java:153)
        at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:99)
        at org.apache.tomcat.jdbc.pool.TrapException.invoke(TrapException.java:41)
        at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:99)
        at org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:63)
        at com.sun.proxy.$Proxy12.prepareStatement(Unknown Source)
        at org.wso2.carbon.dataservices.core.description.query.SQLQuery.createProcessedPreparedStatement(SQLQuery.java:1305)

在此之后,所有数据服务都抛出了相同的错误,导致此错误的根本原因是什么,是否需要进行任何更改以避免此错误。

谢谢.!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-04 11:03:13

如何配置数据服务数据库连接?你用的是碳DataSource (你应该用!)?如果是这样的话,您是否定义了一个测试查询并启用了“测试上的借用”配置选项?

有时您所得到的异常是由配置为关闭空闲连接的数据库服务器造成的。当您没有正确配置连接池时,它将不会检测到连接已关闭,并将其处理到客户端代码(您的数据服务),从而导致此错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32345311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档