如何在Spring JPA中显式关闭数据库连接?

时间:2019-01-29 16:02:53

标签: java hibernate spring-boot jpa connection-pooling

在我的项目中,我们使用JPA从数据库中查询。运行性能时我们遇到了问题,它抛出了异常连接不可用。

我确实在线检查了其他来源。提到要在数据源中添加以下属性-maxIdle,minIdle和minEvictableIdleTimeMillis。我已经设置了上面的属性以及初始大小,最大活动时间,删除放弃的超时,删除放弃的超时,min-evictable-idle-time-millis等。但是它不起作用。

很少有资源建议显式关闭连接。但是我不确定如何在JPA中显式获取当前的数据库连接并关闭它。我已经包含了我要引用的代码。

任何有关此的建议将非常有帮助。预先感谢。

Repository class:

public interface checkRepository extends JpaRepository<CheckEntity, Long> {
    CheckEntity findById(String id);
}

Service class:
class Service{

    public void method(){
        try{
            checkRepo.findById(id);
        }catch(Exception ex){

        }finally{
            //Close the connection here 
        }
    }
}

1 个答案:

答案 0 :(得分:0)

手动关闭连接是一个不好的建议。这就是为什么使用连接池不必始终打开和关闭连接的原因。

您可以尝试使用不同的连接池,但是Hikari应该可以完成这项工作。 FlexyPool是一种工具,您可能会发现该工具有助于解决连接池问题