[故障解决]Could not get a resource from the pool。

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:

注意,这个只是一个解决java里报错“Could not get a resource from the pool”的一种方法,肯定还有其他的情况也导致了“Could not get a resource from the pool”,所以要不同原因不同分析。


今儿java开发的哥们找到我,说有一个模块要求增加到某个阿里redis的白名单,但是阿里云的redis是没有白名单这一说的。我问他你的模块报什么错误呢,他说他的模块在日志里显示了如下的内容:

wKiom1gtZEiTObfZAACT6rM6qaY213.png

出现了Could not get a resource from the pool的错误,出现了这个错误有很多种可能,一种比较常见的可能就是从redis里获取数据超时。于是就来到zk获取文件里,查看配置项,配置项如图:

wKiom1gtZqeQVyGYAABQfcZai98910.png


然后打开zk项,检查这个redis字段,zk里是这么写的:

wKioL1gtZzDx7c18AAARM06W8pw295.png


超时时间设定3000秒,肯定够用了,于是就检查一下其他项目。对比一下,host是对的上的,但是两个password是不一样的,但是这也是正常,因为在java里会对zk的密码进行二次加密。于是我就问了这位开发童鞋,“把你的代码给我,我看一下这个密码你加密了么?”这个时候他猛醒过来,在他的源代码里检查一下,果然他没有加密,密码对不上是无法登陆redis的,所以也会报“Could not get a resource from the pool”。再更改完代码并且重新上传之后,启动进程看到了正确的日志:

wKioL1gtaDvzD6H4AADNzCoMebE574.png


而我,微微一笑,深藏功与名...



 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1873937

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4月前
|
NoSQL Java Redis
Could not get a resource from the pool 异常定位和解决
Could not get a resource from the pool 异常定位和解决
62 4
错误: 实例 "ahwater-linux-core" 执行所请求操作失败,实例处于错误状态。: 请稍后再试 [错误: Exceeded maximum number of retries. Exceeded max scheduling attempts 3 for instance 7c1609
错误: 实例 "ahwater-linux-core" 执行所请求操作失败,实例处于错误状态。: 请稍后再试 [错误: Exceeded maximum number of retries. Exceeded max scheduling attempts 3 for instance 7c1609c9-9d0f-4836-85b3-cefd45f942a7.
5464 0
|
4月前
|
分布式计算 大数据 数据处理
MaxCompute操作报错合集之在flush操作中报错:"context deadline exceeded (Client.Timeout exceeded while awaiting headers)",该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
438 2
|
SQL Oracle 关系型数据库
解决Oracle的状态: 失败 -测试失败: IO 错误: The Network Adapter could not establish the connection
解决Oracle的状态: 失败 -测试失败: IO 错误: The Network Adapter could not establish the connection
2065 0
解决Oracle的状态: 失败 -测试失败: IO 错误: The Network Adapter could not establish the connection
运行项目错误:资源繁忙或者锁定Error: EBUSY:resource busy or locked.lstat
运行项目错误:资源繁忙或者锁定Error: EBUSY:resource busy or locked.lstat
407 0
|
NoSQL Java Redis
JedisConnectionException: Could not get a resource from the pool
JedisConnectionException: Could not get a resource from the pool
136 0
|
NoSQL Redis
Could not get a resource from the pool
Could not get a resource from the pool
114 0
|
NoSQL Java Linux
Jedis异常Could not get a resource from the pool
Jedis异常Could not get a resource from the pool
682 0