diff --git a/modules/utils/src/main/java/org/springside/modules/utils/ThreadLocalContext.java b/modules/utils/src/main/java/org/springside/modules/utils/ThreadLocalContext.java new file mode 100644 index 00000000..1a419a2d --- /dev/null +++ b/modules/utils/src/main/java/org/springside/modules/utils/ThreadLocalContext.java @@ -0,0 +1,39 @@ +package org.springside.modules.utils; + +import java.util.HashMap; +import java.util.Map; + +/** + * 存储于ThreadLocal的上下文信息. + */ +public class ThreadLocalContext { + + private static ThreadLocal> context = new ThreadLocal>() { + @Override + protected Map initialValue() { + return new HashMap(); + } + }; + + /** + * 放入ThreadLocal的Context. + */ + public static void put(String key, Object value) { + context.get().put(key, value); + } + + /** + * 取出ThreadLocal的Context. + */ + @SuppressWarnings("unchecked") + public static T get(String key) { + return (T) (context.get().get(key)); + } + + /** + * 清理ThreadLocal的Context内容. + */ + public static void reset() { + context.get().clear(); + } +}