把数据加入缓存中

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_16855077/article/details/83820740
package com.cmsz.rc.cache;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @author cym
 * 
 */
public class AllLevelCache {

    /**
     * 日志记录
     */
    private static final Logger LOGGER = LoggerFactory.getLogger(AllLevelCache.class);

    /**
     * BusinessLineCache管理(线程同步)
     */
    private static Map<String, String> levelMap = new ConcurrentHashMap<String, String>();

    /**
     * setBusinessLine
     * 
     * @param code
     * 
     * @param businessLine
     */
    public static synchronized void setLevel(String code, String name) {
        if (!levelMap.containsKey(code)) {
            levelMap.put(code, name);
        }
    }

    /**
     * getBusinessLine
     * 
     * 根据传入的code来唯一标示一个BusinessLine,第一次取用BusinessLine之前 先向map放入BusinessLine
     * 
     * @param code
     * 
     */
    public static synchronized String getLevel(String code) {
        if (levelMap.containsKey(code)) {
            return levelMap.get(code);
        }
        return null;
    }

    public static String getCode(String name) {
        String code = null;
        for (Map.Entry<String, String> entry : levelMap.entrySet()) {
            code = entry.getKey();
            String temp = levelMap.get(code);
            if (name.equals(temp)) {
                return code;
            }
        }
        LOGGER.error("根据业务线名字返回code 为 null ");
        return null;
    }


    /**
     * @description 获取缓存大小
     * @return
     */
    public static Integer getSize() {
        return levelMap.size();
    }

    /**
     * 私有的构造函数
     */
    private AllLevelCache() {

    }

}

猜你喜欢

转载自blog.csdn.net/qq_16855077/article/details/83820740
今日推荐