防止少量并發(fā)重復(fù)處理工具類

package com.yasinyt.boss.common.utils;

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

/**
 * @statement 防止重復(fù)提交工具類
 * @author TangLingYun
 * @data 2017年6月15日
 */
public class CheckRepetitionUtil {

    /**防止提交 暫存效驗(yàn)容器*/
    private static Map<String,String> repetition = new WeakHashMap<String,String>();

    /**效驗(yàn)是否重復(fù)提交*/
    public static synchronized boolean checkRepetition(String token){
        if (repetition.containsKey(token)) {
            return true;
        }else{
            repetition.put(token,StringUtils.EMPTY);
        }
        return false;
    }
    
    /**業(yè)務(wù)執(zhí)行完畢移除當(dāng)前提交狀態(tài)*/
    public static void removeToken(String token){
        repetition.remove(token);
    }
}

使用進(jìn)入方法之間 調(diào)用checkRepetition方法,方法后finally處理調(diào)用removeToken

有興趣的同學(xué)可以實(shí)現(xiàn)改造使用AOP 注解切需要防止重復(fù)提交的方法。

大量并發(fā)請(qǐng)使用redis分布式鎖,謝謝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,921評(píng)論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,535評(píng)論 19 139
  • 實(shí)習(xí)支教終于快要結(jié)束了,如果讓我用幾個(gè)詞來(lái)形容這段經(jīng)歷,應(yīng)該就是煎熬,收獲,忍耐。其實(shí)總結(jié)起來(lái)就是有苦有樂,像一整...
    DS研萬(wàn)閱讀 868評(píng)論 0 1
  • 有人迷戀西藏, 認(rèn)為青藏高原說(shuō)的就是西藏, 卻不知青藏高原中的青指的是青海, 而藏才是西藏。 青海這個(gè)陌生又讓人神...
    DaDa醬閱讀 575評(píng)論 2 7
  • 閱讀有很多種方式,每個(gè)人都有自己偏愛的閱讀方法。但并不是所有的閱讀都適用同一種方式。有些消遣類的讀物可以快速閱讀,...
    蘭若雪鈺閱讀 913評(píng)論 4 0

友情鏈接更多精彩內(nèi)容