首页 > 其他 > 详细

JedisException: Could not get a resource from the pool

时间:2020-05-02 15:28:54      阅读:42      评论:0      收藏:0      [点我收藏+]

项目中使用jedis客户端操作redis

		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>2.9.0</version>
		</dependency>

  

代码没有变更,换个环境本地运行异常:

redis.clients.jedis.exceptions.JedisException: Could not get a resource from the pool
	at redis.clients.util.Pool.getResource(Pool.java:51)
	at redis.clients.jedis.ShardedJedisPool.getResource(ShardedJedisPool.java:36)
Caused by: java.util.NoSuchElementException: Unable to validate object
    at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:495)
    at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:362)
    at redis.clients.util.Pool.getResource(Pool.java:49)

首先确定网络可通,linux防火墙开放了端口。

然后使用自带的redis-cli.exe连接

提示NOAUTH Authentication required.

明显是设置了密码。

于是查看配置文件找到 requirepass,确定设置了密码。

通过验证密码,客户端使用正常。

技术分享图片

 

顺藤摸瓜找到Jedis的配置 ShardedJedisPool 

JedisShardInfo有password属性

此项需要根据实际redis的配置密码的情况设置password,如果拿到的密码为空,则不设置即可。

参考代码:

 @Bean
    public ShardedJedisPool getJedisPool() {

        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        jedisPoolConfig.setMaxIdle(maxIdle);
        jedisPoolConfig.setMaxTotal(maxTotal);
        jedisPoolConfig.setMinIdle(minIdle);
        jedisPoolConfig.setMaxWaitMillis(maxWait);
        jedisPoolConfig.setTestOnBorrow(true);
        jedisPoolConfig.setTestOnReturn(true);
        jedisPoolConfig.setBlockWhenExhausted(false);

        JedisShardInfo jedisShardInfo = new JedisShardInfo(host, port);
        if(!ToolUtil.isEmpty(password)){
            jedisShardInfo.setPassword(password);
        }

        List<JedisShardInfo> list = new LinkedList<JedisShardInfo>();
        list.add(jedisShardInfo);
        return  new ShardedJedisPool(jedisPoolConfig, list);
    }

  

JedisException: Could not get a resource from the pool

原文:https://www.cnblogs.com/liuxiutianxia/p/12817671.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!