package com.jkys.cis.promote.common.utils;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.List;
/**
-
@author fangd
-
@Auther: fangDie
-
@Date: 2020/8/28 14:51
-
@Description:
*/
@Slf4j
public class LockUtil {/**
- 请求 对象 存储集合
*/
private static List reqCache=new ArrayList<>(100);
/**
- 请求计数器(指示 ID 存储的位置)
*/
private static Integer reqCacheCounter = 0;
/**
-
单层检测重复提交:检测 有缓存return 没有缓存 存入缓存执行业务代码
-
@param object
-
@return
*/
public static boolean judge(Object object,Object lockClass) {synchronized (lockClass) {
System.out.println(“集合数据”+reqCache);
if (reqCache.contains(object)) {
return false;
}
log.info(“下标初始位置”+reqCacheCounter);
// 重置计数器
if (reqCacheCounter >= reqCache.size()) {
reqCacheCounter = 0;
}
// 将 ID 保存到缓存
reqCache.add(reqCacheCounter,object);
// 下标往后移一位
reqCacheCounter++;
log.info(“移动的下标位置”+reqCacheCounter);
}
return true;
}
}
- 请求 对象 存储集合