首页 > 其他 > 详细

RequestHolder工具类

时间:2018-04-22 19:13:57      阅读:245      评论:0      收藏:0      [点我收藏+]
package com.inspire.ssm.common;

import com.inspire.ssm.model.SysUser;

import javax.servlet.http.HttpServletRequest;

public class RequestHolder {

    /**
     * 处理高并发的对象
     * 1. 每个线程是独立的
     * 2. 登陆的时候会把每个用户的信息和请求的信息放入线程里面
     * 3. 而在以后取用户信息可以直接取这里取
     */
    private static final ThreadLocal<SysUser> userHolder = new ThreadLocal<SysUser>();

    private static final ThreadLocal<HttpServletRequest> requestHolder = new ThreadLocal<HttpServletRequest>();

    public static void add(SysUser sysUser) {
        userHolder.set(sysUser);
    }

    public static void add(HttpServletRequest request) {
        requestHolder.set(request);
    }

    public static SysUser getCurrentUser() {
        return userHolder.get();
    }

    public static HttpServletRequest getCurrentRequest() {
        return requestHolder.get();
    }

    public static void remove() {
        userHolder.remove();
        requestHolder.remove();
    }
}

 

RequestHolder工具类

原文:https://www.cnblogs.com/inspred/p/8908792.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!