关于JedisExhaustedPoolException: Could not get a resource since the pool is exhausted的一种解决方案

文章目录

现状

之前公司的自管理监控项目可以实时监测Redis的运行状态,来检查Redis是否是正常运行的,但是最近经常出现一些问题,就是明明Redis集群是正常的,但是界面上却看不到Redis的运行状态,这就很奇怪了,于是看了下后台服务日志内容,报错内容大致如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sMueM7M6-1634977508583)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/74b6af49-c56d-459a-8da9-f139ffcf4176/Untitled.png)]

报错内容

2021-09-17 16:01:24.577 ERROR c.u.b.s.c.a.m.r.RedisStatusDetecter - redis detect error
redis.clients.jedis.exceptions.JedisExhaustedPoolException: Could not get a resource since the pool is exhausted
	at redis.clients.jedis.util.Pool.getResource(Pool.java:53)
	at redis.clients.jedis.JedisPool.getResource(JedisPool.java:288)
	at com.ultrapower.bsms.selfmanage.collector.activedetect.middleware.redis.RedisCollector.doCollect(RedisCollector.java:35)
	at com.ultrapower.bsms.selfmanage.collector.activedetect.middleware.redis.RedisStatusDetecter.detect(RedisStatusDetecter.java:35)
	at com.ultrapower.bsms.selfmanage.collector.ScheduleTasks.redisDetecter(ScheduleTasks.java:182)
	at sun.reflect.GeneratedMethodAccessor318.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at

翻译成中文大致意思就是取不到Redis连接了,因为连接池已经耗尽了,那问题是正常情况下从JedisPool里面获取的redis连接应该会在使用完就会释放,现在给人的感觉就是连接池一直在取redis连接,但是使用完后并没有释放,最终导致连接池中的连接全部用完耗尽,当再也取不到连接的时候就会报上面这个错,而代码处理逻辑就是根据redis连接去获取Redis的活动状态,因为这里获取不到连接,就会认为Redis挂掉,进而就从数据库把redis的节点信息给删除了,所以界面上看不到redis了

根据这里报错的源头找到之前项目里这块代码有这么一段,可以看到这块通过jedisPool获取redis连接后进行了一波信息处理后就直接返回结果了,,,难道说jedisPool有自动释放redis连接的功能呢???还是说这是前人代码留下来的一个坑。。。。

Jedis jedis =null;
jedis = jedisPool.getResource();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦岚如雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值