防止少量并发重复处理工具类

package com.yasinyt.boss.common.utils;

import java.util.Map;
import java.util.WeakHashMap;
import org.apache.commons.lang3.StringUtils;

/**
 * @statement 防止重复提交工具类
 * @author TangLingYun
 * @data 2017年6月15日
 */
public class CheckRepetitionUtil {

    /**防止提交 暂存效验容器*/
    private static Map<String,String> repetition = new WeakHashMap<String,String>();

    /**效验是否重复提交*/
    public static synchronized boolean checkRepetition(String token){
        if (repetition.containsKey(token)) {
            return true;
        }else{
            repetition.put(token,StringUtils.EMPTY);
        }
        return false;
    }
    
    /**业务执行完毕移除当前提交状态*/
    public static void removeToken(String token){
        repetition.remove(token);
    }
}

使用进入方法之间 调用checkRepetition方法,方法后finally处理调用removeToken

有兴趣的同学可以实现改造使用AOP 注解切需要防止重复提交的方法。

大量并发请使用redis分布式锁,谢谢

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,033评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • 实习支教终于快要结束了,如果让我用几个词来形容这段经历,应该就是煎熬,收获,忍耐。其实总结起来就是有苦有乐,像一整...
    DS研万阅读 768评论 0 1
  • 有人迷恋西藏, 认为青藏高原说的就是西藏, 却不知青藏高原中的青指的是青海, 而藏才是西藏。 青海这个陌生又让人神...
    DaDa酱阅读 502评论 2 7
  • 阅读有很多种方式,每个人都有自己偏爱的阅读方法。但并不是所有的阅读都适用同一种方式。有些消遣类的读物可以快速阅读,...
    兰若雪钰阅读 697评论 4 0