PostgreSQL连接
我的postgres连接永远处于空闲状态,尽管在代码中使用了连接关闭语句。数据库在出现致命内存错误的阈值后挂起。这会在连接关闭时提示重新启动 我如何从根本上解决这个问题?为什么连接没有关闭 代码片段:PostgreSQL连接,postgresql,Postgresql,我的postgres连接永远处于空闲状态,尽管在代码中使用了连接关闭语句。数据库在出现致命内存错误的阈值后挂起。这会在连接关闭时提示重新启动 我如何从根本上解决这个问题?为什么连接没有关闭 代码片段: try { session=sessionFactory.openSession(); Transaction tx = session.beginTransaction(); } finally { if (session != null) {
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>
休眠配置文件:
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>
线
假的
汽车
闭上
com.myapp.connections.MultiTenantConnectionsProvider
数据库
com.myapp.connections.CurrentTenantIdentifier解析程序
session.close()
仅将连接放回池中。如果你想让池在一段时间后关闭物理连接,你需要更改池的配置。你能指导我如何更改配置以实现它吗?你需要检查你正在使用的连接池的文档。不要关闭数据库连接,保持它们打开并重用它们(池)。限制数据库连接的数量。是@Laurenz。我们正在尝试使用c3p0进行连接池,并且连接保持打开状态。但经过一定时间的活动后,数据库会出现致命的内存错误。这将提示重新启动。