为什么要清除threaLocalToken呢
来源:3-9 创建OAuth2Filter类(二)

三尺357159
2021-05-30
不是很理解呢,那如果令牌没有过期,本地的又清除的话?
写回答
1回答
-
慕容8018912
2021-05-30
threaLocalToken是单次web请求时才会创建的,他的作用就是如果需要更新令牌,他会保存一份 更新过的token,然后web请求返回时,AOP会从中取中取出新的token,发送给客户端,用于更新客户端 的token,而threadLocal一定要及时remove,因为“程就是用来执行方法的,正常情况下,如果方法 执行完了,线程对象就会被回收,但是如果在ThreadLoca使用后,并没有调用remove方法来清除这个 对象,而一直保持着引用关系,那么从GC Roots可达性分析的角度来看,这个线程对象一直可达, 那么就不可能被标记为垃圾对象,也就不可能被回收了。而执行完方法后线程其实已经不再使用, 而这种通过ThreadLocal引用的线程对象会一直堆积,就会造成内存泄露。” 而token持久化的保存是在redis中的
10
相似问题