在一个类中封装多种上下文,通过静态方法可以直接获取ThreadLocalMap的值,键即为ThreadId
public class UserContext implements AutoCloseable {
static final ThreadLocal<String> ctx = new ThreadLocal<>();
public UserContext(String user) {
ctx.set(user);
}
public static String currentUser() {
return ctx.get();
}
@Override
public void close() {
ctx.remove();
}
}
使用时使用try…with…resource
评论前必须登录!
注册