首页 > 解决方案 > 如何修复此连接已关闭异常?

问题描述

在使用多个用户登录时,我的应用程序抛出了这个异常:

Connection org.postgresql.jdbc.PgConnection@6421dd29 marked as broken because of SQLSTATE(08003), ErrorCode(0)
org.postgresql.util.PSQLException: This connection has been closed.\

还得到:

org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.TransactionException: JDBC begin transaction failed:

我尝试更改 hikari 配置并使块同步。

看起来第二个线程试图利用第一个线程创建的连接,而第二个线程使用它的第一个线程关闭它。

标签: javaspringhibernatehikaricp

解决方案


您是否尝试过使用“实体交易”开始交易?你可以这样做,

Class Test{

@Autowired
EntityManagerFactory entityManagerFactory;

     method(){

          EntityManager manager = entityManagerFactory.createEntityManager();
          EntityTransaction transaction = manager.getTransaction();

          transaction.begin(); //This will start the transaction
     }
}

推荐阅读