开发者社区 问答 正文

当JedisConnectionException时仍调用returnResource 为什么无异常?

我见JedisTemplate的closeResource方法当遇到JedisConnectionException时,应该是调用returBrokenResource。 但我仍是调用的returnResource,并且设置连接数为1:
`GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
poolConfig.setMaxTotal(1);
final JedisSentinelPool sentinelPool = new JedisSentinelPool(masterName, sentinels,poolConfig);`
当当前master宕了, 休眠一段时间,等待切换好新master, 然后执行returnResource(jedis),
我理解的是将这个已经中断的jedis返回了,为什么后续调用redis命令仍是正常的呢(只有一个连接啊)?不应该报Broken Pipe异常吗?

展开
收起
落地花开啦 2016-02-20 17:32:09 2600 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    跟踪一下源码,看看它是怎么获取Resource

    2019-07-17 18:45:34
    赞同 展开评论