org.postgresql.util.PSQLException:该连接已关闭

问题描述

从Spring Boot连接到postgres数据库时出现以下错误

以前运行正常,但是我运行了两个程序,它们连接到同一数据库并出现错误

Spring配置:

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgresqlDialect
spring.jpa.hibernate.ddl-auto=none
spring.jpa.hibernate.show-sql=true
spring.datasource.url=jdbc:postgresql://***.***.*.***:****/********
spring.datasource.username=*******
spring.datasource.password=*******
spring.datasource.initialization-mode=always
spring.datasource.initialize=true
#spring.datasource.schema=classpath:/schema.sql
spring.datasource.continue-on-error=true

错误

11-Sep-2020 17:02:11.380 [main] INFO  com.zaxxer.hikari.HikariDataSource:110 - HikariPool-1 - Starting...
11-Sep-2020 17:02:20.782 [main] WARN  com.zaxxer.hikari.pool.PoolBase:485 - HikariPool-1 - Default transaction isolation level detection Failed (This connection has been closed.).
11-Sep-2020 17:02:20.786 [main] ERROR com.zaxxer.hikari.pool.HikariPool:497 - HikariPool-1 - Error thrown while acquiring connection from data source
org.postgresql.util.PsqlException: This connection has been closed.
    at org.postgresql.jdbc.PgConnection.checkClosed(PgConnection.java:865)
    at org.postgresql.jdbc.PgConnection.setTransactionIsolation(PgConnection.java:924)
    at com.zaxxer.hikari.pool.PoolBase.setupConnection(PoolBase.java:413)
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:363)
    at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206)
    at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560)
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)
    at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)
    at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158)
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:612)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:669)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:694)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:748)
    at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:216)
    at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:223)
    at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate$$FastClassBySpringcglib$$9d5423dc.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
    at org.springframework.aop.framework.cglibAopProxy$DynamicAdvisedInterceptor.intercept(cglibAopProxy.java:687)
    at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate$$EnhancerBySpringcglib$$ee436ac5.query(<generated>)
    at com.orion.service.DatabaseDaoImpl.getPairData(DatabaseDaoImpl.java:174)
    at com.orion.main.OrionController.loadPrperty(OrionController.java:73)
    at com.orion.main.MainorionClass.main(MainorionClass.java:24)
11-Sep-2020 17:02:20.787 [main] ERROR com.zaxxer.hikari.pool.HikariPool:593 - HikariPool-1 - Exception during pool initialization.
org.postgresql.util.PsqlException: This connection has been closed.
    at org.postgresql.jdbc.PgConnection.checkClosed(PgConnection.java:865)
    at org.postgresql.jdbc.PgConnection.setTransactionIsolation(PgConnection.java:924)
    at com.zaxxer.hikari.pool.PoolBase.setupConnection(PoolBase.java:413)
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:363)
    at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206)
    at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560)
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)
    at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)
    at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158)
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:612)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:669)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:694)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:748)
    at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:216)
    at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:223)
    at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate$$FastClassBySpringcglib$$9d5423dc.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
    at org.springframework.aop.framework.cglibAopProxy$DynamicAdvisedInterceptor.intercept(cglibAopProxy.java:687)
    at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate$$EnhancerBySpringcglib$$ee436ac5.query(<generated>)
    at com.orion.service.DatabaseDaoImpl.getPairData(DatabaseDaoImpl.java:174)
    at com.orion.main.OrionController.loadPrperty(OrionController.java:73)
    at com.orion.main.MainorionClass.main(MainorionClass.java:24)
Exception in thread "main" org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is org.postgresql.util.PsqlException: This connection has been closed.
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:612)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:669)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:694)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:748)
    at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:216)
    at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:223)
    at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate$$FastClassBySpringcglib$$9d5423dc.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
    at org.springframework.aop.framework.cglibAopProxy$DynamicAdvisedInterceptor.intercept(cglibAopProxy.java:687)
    at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate$$EnhancerBySpringcglib$$ee436ac5.query(<generated>)
    at com.orion.service.DatabaseDaoImpl.getPairData(DatabaseDaoImpl.java:174)
    at com.orion.main.OrionController.loadPrperty(OrionController.java:73)
    at com.orion.main.MainorionClass.main(MainorionClass.java:24)
Caused by: org.postgresql.util.PsqlException: This connection has been closed.
    at org.postgresql.jdbc.PgConnection.checkClosed(PgConnection.java:865)
    at org.postgresql.jdbc.PgConnection.setTransactionIsolation(PgConnection.java:924)
    at com.zaxxer.hikari.pool.PoolBase.setupConnection(PoolBase.java:413)
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:363)
    at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206)
    at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560)
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)
    at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)
    at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158)
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
    ... 13 more

注意:我尝试了这个答案,但是没有用。 org.postgresql.util.PSQLException: This connection has been closed. error for long running transactions

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)