From 8530a4f0d8918fda68d32da80a3d65869540a70a Mon Sep 17 00:00:00 2001 From: "calvin.xiao" Date: Sat, 28 Nov 2015 10:12:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0ThreadLocalContext?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/utils/ThreadLocalContext.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 modules/utils/src/main/java/org/springside/modules/utils/ThreadLocalContext.java 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(); + } +}