社区
Java SE
帖子详情
连接池连接长时间不用,导致连接不能使用
cmszfx
2007-03-02 11:56:06
问题情况
连接池中有可用连接,但是长时间不调用下此再调用这个连接时,就会报错,而且用con.isClose()判断这个连接是可以用的.请问还有什么方法可以判断是否超时??
...全文
698
9
打赏
收藏
连接池连接长时间不用,导致连接不能使用
问题情况 连接池中有可用连接,但是长时间不调用下此再调用这个连接时,就会报错,而且用con.isClose()判断这个连接是可以用的.请问还有什么方法可以判断是否超时??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cmszfx
2007-03-03
打赏
举报
回复
谢谢各位解答
bjchc
2007-03-02
打赏
举报
回复
我也遇到这样的情况,不知你的连接池是否有维护线程,我的处理办法的是check keepalive, 定义一个keepalive命令字,长时间不用的时候,发送或接收一下keepalive命令。数据库的话,执行一下简单的查询。
供你参考。
qzjackie
2007-03-02
打赏
举报
回复
上面的大哥说得非常的好,小弟受教了。
jicken_woo
2007-03-02
打赏
举报
回复
数据库连接缓冲池是为了降低每次建立/释放连接时的开销,故而,每次程序端归还回来的连接并不直接关闭,而是留给以后给其他程序再用。归还在池(pool)里,没有被使用的称为空闲(idle),被借出的,使用中的连接称为active。
所以顾名思义,maxIdle者,代表当pool中的空闲连接达到此数值后,以后被归还的连接都回被直接释放,直到池中空闲连接数因为其他程序继续借出而重新低于maxIdle。此外,一般还会对idle的最长时间的设定,比如超过30秒,idle连接留着也浪费,就关掉
而maxActive者,代表你能从这个pool中借出的最大连接的个数。在借出的时候,当池里有idle的,就用idle的,如果一个也没有,且未达到maxActive,就新建一个。假如已经达到maxActive这个数值后,根据不同的池种类和/或不同的设定,一般有以下几种:
1 直接抛错
2 让想要借出连接的线程等待一段时间,如果等不到,再抛错
3 每隔一段检查一次pool,直到有可用连接,否则一直等下去
4 永远可以拿到(视情况需要maxActive不设置或0或负)
leasa
2007-03-02
打赏
举报
回复
长时间不用的连接,为什么要抓着不放,
cmszfx
2007-03-02
打赏
举报
回复
我想问的不是在连接池中如何设置超时.而是当1个连接建立后,长时间没有调用,也没有关闭它,这个连接会被断开,再次使用就会报错.而这种被数据库断开的情况下, 在程序中要怎么判断呢?用conn.isClosed()方法判断不出来,这个方法返回的依然是可用的,但是实际上断开了.
我只知道mySql中可以在url中加个参数 好像是reConnection=true,但是oracle怎么搞呢
sunwei_07
2007-03-02
打赏
举报
回复
学习下,在哪设啊~
flyingsnowy
2007-03-02
打赏
举报
回复
找找。
捏造的信仰
2007-03-02
打赏
举报
回复
连接池应该有选项来配置多长时间算超时。
oracle
连接
池
长时间
不
使用
连接
失效问题
oracle
连接
池
长时间
不
使用
连接
失效问题
通过
连接
池
无法
连接
mysql,解决JDBC
连接
Mysql
长时间
无动作
连接
失效的问题
错误场景介绍做的有一个项目
使用
JDBC手动创建Connection实现了一个简单的自定义数据库
连接
池
,用来支持Canal解析数据库Binlog指定业务库的插入修改SQL来进行数据库分表备份(按照月份)操作.但是发现当一个一段时间(较...
记录lettuce
连接
池
长时间
不操作,再次登录报RedisCommandTimeoutException,稍等15分钟又可以正常
连接
问题
方案一:也是最常见的将lettuce换成jedis
连接
池
方案二:添加配置 #
连接
超时时间 spring.redis.timeout=5000 #
连接
池
最大
连接
数(
使用
负值表示没有限制) spring.redis.lettuce....#
连接
池
最大阻塞等待时间(
使用
数据库
连接
池
学习笔记(一):原理介绍+常用
连接
池
介绍
数据库
连接
池
负责分配、管理和释放数据库
连接
,它允许应用程序重复
使用
一个现有的数据库
连接
,而不是再重新建立一个。 为什么要
使用
连接
池
数据库
连接
是一种关键的有限的昂贵的资源,这一点在多用户的网页应用...
java原生程序redis
连接
(
连接
池
/长
连接
和短
连接
)选择问题
这个问题对我最深刻的教训就是说明获取
连接
不能
迷信
连接
池
和原封不动的搬运以前代码的utils。在
连接
的建立的一开始就应该思考
连接
的稳定性和是否应该关闭
连接
。否则这些问题在线上运行十几个小时可能才会暴露。
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章