0
点赞
收藏
分享

微信扫一扫

c3p0 连接池配置会话断开重连问题

参数意义:

管理池大小和连接时间的配置

参数定义转载: ​https://blog.csdn.net/zhanghanlun/article/details/80918422​

参数

默认值

解释

maxIdleTime

0

连接的最大空闲时间,如果超过这个时间,某个数据库连接还没有被使用,则会断开掉这个连接;

如果为0,则永远不会断开连接

maxConnectorAge

0

连接的最大绝对年龄,单位是秒;

0表示绝对年龄无限大

maxIdleTimeExcessConnection

0

为了减轻连接池的负载,当连接池经过数据访问高峰创建了很多连接,但是后面连接池不需要维护这么多连接,配置不为0,则将连接池的数量保持到minPoolSize;

如果设定为10,则10s后 会自动回收大余minPoolSize定义的多余连接

idleConnectionTestPeriod

0

每隔多少秒,进行检测一次会话连接,执行对应语句进行保活

断开的原因:

如果我们只设定了 maxIdleTime 没有设定 maxIdleTimeExcessConnection, 那么maxIdleTime周期后,没有活跃的会话会自动断开,自动创建少于minPoolSize对应的连接.

建议: maxIdleTIme保持默认值不变,  单独设定maxIdleTimeExcessConnection=180,这样 高峰期创建的多余连接池minPoolSize的连接180s后,会自动回收. 

如果maxIdleTimeExcessConnection保持默认值不变,会话永远不会断开, 每个检测周期后,连接时间从0开始计时. 


举报

相关推荐

0 条评论