- 看到如下文章 :
-
- /**
- * 获取Jedis连接
- *
- * @return
- */
- public static Jedis getJedis() {
- Jedis jedis = null;
- // 捕捉异常
- try {
- jedis = getJedisPool().getResource();
- } catch (Exception e) {
- System.out.println("获取Jedis连接失败,开始尝试重置连接池!:" + frequencyTemp++);
- // 产生异常,连接池重置.
- jedisPoolReset();
- // 递归调用
- if (frequencyTemp < frequency) {
- jedis = getJedis();
- } else {
- // 发送邮件通知
- MailUtil.getMailUtil().sendMail("尝试重置连接池10次了,邮件通知!");
- // 清空重试次数缓存
- frequencyTemp = 1;
- // 继续尝试获取jedis连接
- jedis = getJedis();
- }
- }
- return jedis;
- }
- /**
- * jedis连接池重置
- */
- public static void jedisPoolReset() {
- JedisPool jedisPool = JedisUtil.getJedisPool();
- try {
- jedisPool.destroy();
- } catch (Exception e) {
- }
- jedisPool = JedisUtil.newJedisPool(JedisUtil.HOST, JedisUtil.PORT);
- JedisUtil.jedisPoolMap.put(JedisUtil.NAME, jedisPool);
- }
redis 跨机房 连接失败导致一致链接不上
最新推荐文章于 2024-08-07 22:58:45 发布