package com.hotent.system.util; import java.util.HashMap; import java.util.Map; import org.springframework.stereotype.Service; import com.hotent.base.util.BeanUtils; import com.hotent.base.util.ContextThread; /** * 消息Util工具类,在线程变量中添加消息,消息使用list存放 * * @company 广州宏天软件股份有限公司 * @author pangquan * @email pangq@jee-soft.cn * @date 2020年11月03日 */ @Service public class ThreadMessageUtil implements ContextThread{ private static ThreadLocal> localMapMsg = new ThreadLocal>(); /** * 添加线程消息 * @param key * @param msg */ public static void addMapMsg(String key,String msg){ Map map = localMapMsg.get(); if(BeanUtils.isEmpty(map)){ map = new HashMap(); } map.put(key, msg); localMapMsg.set(map); } public static String getMapMsg(String key){ Map map = localMapMsg.get(); if(BeanUtils.isEmpty(map)){ return null; } if(map.containsKey(key)){ return map.get(key); } return null; } public static Map getMapMsg(boolean clean){ Map map = localMapMsg.get(); if(clean){ localMapMsg.remove(); } return map; } public static String getMapMsg(String key,boolean clean){ Map map = localMapMsg.get(); if(BeanUtils.isEmpty(map)){ return null; } if(map.containsKey(key)){ String msg = map.get(key); if(clean) { map.remove(key); } return msg; } return null; } public static void cleanMapMsg(){ localMapMsg.remove(); } @Override public void cleanAll() { cleanMapMsg(); } }