版权声明:本文为博主原创文章,未经博主允许不得转载。 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() {
}
}