【发布时间】:2011-11-10 05:39:17
【问题描述】:
我编写了这个实用程序类来在 Spring MVC 应用程序中保存临时数据:
public abstract class FooUtil {
private static final ThreadLocal<String> threadFoo = new ThreadLocal<String>();
public static String getFooId(){
return threadFoo.get();
}
public static void setFooId(String fooId){
threadFoo.set(fooId);
}
public static void removeFooId(){
threadFoo.remove();
}
}
所以我打电话给FooUtil.setFooId("foo")。
但是当我稍后调用FooUtil.getFooId() 时,它总是返回null。
我需要构造函数吗?或者也许这不应该是一个抽象类?我不知道。
【问题讨论】:
-
也许你只是从不同的线程调用它?
-
你为什么要这样做? ThreadLocal 给你买了什么?我什么都看不见。
标签: java spring spring-mvc thread-local