admin
2019-09-22 b9f8ef2c4737b6e6be4b12fc8f7bafb033bfcfe5
fanli/src/main/java/com/yeshi/fanli/aspect/RequestSerializableAspect.java
@@ -92,6 +92,7 @@
               if (!StringUtil.isNullOrEmpty(cacheKey)) {
                  cacheKey = joinPoint.getTarget().getClass().getName() + "." + targetMethod.getName() + "-"
                        + cacheKey;
                  String cacheAlias = cacheKey;
                  cacheKey = "rs-" + StringUtil.Md5(cacheKey);
                  // jiedis原子性做拦截
                  Jedis jedis = jedisPool.getResource();
@@ -102,6 +103,8 @@
                     // 等待响应
                     while (result <= 0) {
                        result = jedis.setnx(cacheKey, "1");
                        LogHelper.error("触发并发锁:" + cacheAlias);
                        LogHelper.error("redis键:" + cacheKey);
                        if (result <= 0) {
                           try {
                              Thread.sleep(50);
@@ -113,6 +116,9 @@
                              out.print(JsonUtil.loadFalseResult("连接超时"));
                              return null;
                           }
                        } else {
                           // 设置30秒处理时间
                           jedis.expire(cacheKey, 30);
                        }
                     }