Jus*_*tas 12 java postgresql hibernate connection-pooling guice
如果我查询:
select * from pg_stat_activity where application_name ~ 'example-application';
Run Code Online (Sandbox Code Playgroud)
我得到很多行,状态是idle和查询COMMIT.它们持久耐用,不会消失.一段时间后,我的应用程序达到hibernate.c3p0.max_size(池中的最大JDBC连接数)限制并停止使用数据库.
一些应用程序实现细节在其他SO线程中描述: 线程池中的Guice DAO提供程序 - 查询变为"在转换中空闲"
为什么会这样?如何解决这个问题呢?
a_h*_*ame 16
如果会话是"空闲",则查询列显示连接已执行的最后一个语句.它不是 "当前"查询,因此连接不等待提交完成.
该query栏仅显示当前的 if语句status节目active.
"空闲"连接不是问题,基本上是使用连接池的原因,因此可以重复使用它.但是,在"交易闲置" 中保持很长时间的会话是个问题.但是你说你的连接处于"空闲"状态.
如果您的连接池达到限制,这很可能意味着您的应用程序没有正确地将连接返回到池.这是您需要在应用程序中修复的内容.
| 归档时间: |
|
| 查看次数: |
3804 次 |
| 最近记录: |