Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate在执行AngularJS GET请求时引发服务器验证错误_Angularjs_Hibernate_Postgresql_Rest - Fatal编程技术网

Hibernate在执行AngularJS GET请求时引发服务器验证错误

Hibernate在执行AngularJS GET请求时引发服务器验证错误,angularjs,hibernate,postgresql,rest,Angularjs,Hibernate,Postgresql,Rest,如果我用Angular执行GET请求,我会得到500个错误 var listAll = function() { var requestUrl = baseUrl + "/employee/all"; return $http.get(requestUrl) .then(function(responseSuccess) { return responseSuccess.data; }, function(responseError) {

如果我用Angular执行GET请求,我会得到500个错误

var listAll = function() {
    var requestUrl = baseUrl + "/employee/all";

    return $http.get(requestUrl)
    .then(function(responseSuccess) {
        return responseSuccess.data;
    },
    function(responseError) {
        return responseError.data;
    });
};
然后我调用输出函数:

service.output().then(suc,err);
问题是,在返回有效响应之前,我必须调用
服务
五到六次。在所有其他情况下,都会返回500错误,但以下情况除外:

java.sql.SQLException: Failed to validate a newly established connection.
    at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:811) ~[tomcat-jdbc-8.0.30.jar:na]
    at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:626) ~[tomcat-jdbc-8.0.30.jar:na]
    at org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:185) ~[tomcat-jdbc-8.0.30.jar:na]
    at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127) ~[tomcat-jdbc-8.0.30.jar:na]
    at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:139) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
    .
    .
    .
我使用PostgreSQL作为数据库和基于Spring的REST应用程序

  • 您应该检查Java代码中是否缺少connection.close()语句。很可能存在连接泄漏,如果连接过期,它们会随机返回到池中并正常工作

  • 从后端连接到数据库可能存在真正的问题。检查网络,确保一切正常

  • PostgreSQL可能配置的连接不够


  • 解决方案是需要显式验证查询:

    spring.datasource.validation-query=SELECT 1
    

    从那以后就没有出现过此错误。

    我已经编写了所有代码。我应该在哪里添加
    connection.close()
    ?我正在使用一个
    JpaRepository
    扩展名。如果有任何帮助,我正在使用调用,比如
    repository.findOne()
    repository.findAll()
    repository.save()
    。还刚刚打开了application.properties并找到了这个:
    spring.datasource.testOnBorrow=true
    。这可能是问题吗?您好,现在这个问题似乎可以通过添加缺少的行
    spring.datasource.validation query=SELECT 1
    来解决。如果再次出现错误,我将更新。