首页 > 解决方案 > Postgres 连接未关闭-Hibernnate ererereq

问题描述

我正在为我的 Web 应用程序使用 PostgreSQL。我已经session. close在 Web 应用程序代码中加入了每个休眠调用。但是 postgreSQL 连接没有关闭,这使得应用程序在连接计数达到阈值后中断。我需要重新启动我的 PostgreSQL 服务才能重新启动它。

我使用 Apache tomcat 作为网络服务器。

我该如何解决这个奇怪的问题?请建议永久修复。

代码片段:

try {

    session=sessionFactory.openSession();
    
    Transaction tx = session.beginTransaction();

} finally {  
    if (session != null) {  
        session.close();
    }    
}

休眠配置文件:

<property name="hibernateProperties">
<props>
<prop key="hibernate.current_session_context_class">thread</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.hbm2ddl.auto">auto</prop>
<prop key="hibernate.transaction.auto_close_session">on_close</prop>
<prop key="hibernate.multi_tenant_connection_provider">com.myapp.connections.MultiTenantConnectionsProvider </prop>
<prop key="hibernate.multiTenancy">DATABASE</prop>
<prop key="hibernate.tenant_identifier_resolver">com.myapp.connections.CurrentTenantIdentifierResolver </prop>
</props>
</property>

出现以下错误:

org.hibernate.service.spi.ServiceException: Unable to instantiate specified multi-tenant connection provider

请帮忙。一直坚持这个

标签: postgresqlhibernate

解决方案


推荐阅读