java并发---线程封闭-基于SpringBoot的ThreadLocal的实现

本文主要介绍了如何在SpringBoot应用中利用ThreadLocal进行线程封闭,包括定义拦截器、实现Filter接口、封装ThreadLocal方法、创建HandlerInterceptorAdapter以及定义调用接口的详细步骤。
摘要由CSDN通过智能技术生成

 线程封闭一般通过以下三个方法:

    1.Ad-hoc线程封闭:程序控制实现,最糟糕,忽略
    2.堆栈封闭:局部变量,无并发问题

    3.ThreadLocal线程封闭:特别好的封闭方法

方法2是最常用的,变量定义在接口内,本文主要讲解方法三。

本例程是基于SpringBoot框架,并使用两个拦截器,分别为Filter和HandlerInterceptorAdapter 

    第一步,先定义拦截器继承Filter接口,实现ThredLocal.add()方法

    第二步,在Application类实现Filter接口拦截/threadLocal/*的URL

    第三步,封装ThredLocal的方法

    第四步,实现另外个更细粒度的拦截器,HandlerInterceptorAdapter,调用ThredLocal.remove()方法

    第五步,定义调用接口

第一步,先定义拦截器,比如拦截特定的URL

/*
 *Created by William on 2018/4/30 0030
 * 拦截器
 */
@Slf4j
public class HttpFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值