Java应用开发
文章平均质量分 51
Java功能模块开发
迷梦星河
雁渡寒潭,雁过而不留影;风吹疏竹,风过而不留声。
展开
-
ThreadLocal存取请求Token
有这样一个场景,A网站会多次调用B网站返回数据,前提是需要每次都携带B网站的token,由于用户与B网站用户做了一个关联,很容易拿到B的token,然后通过RestTemplate把token设置给请求头,问题就是每次请求都要先获取再设置,那么能不能获取一次呢,于是就想到了ThreadLocal,记录一下吧。三个步骤:1、创建拦截器——>2、注册拦截器——>3、设置给RestTemplate的请求头。2、注册拦截器一般上面代码就注册成功了,可是我在这里拦截器没有生效,原因是项目为了解决跨域,有一个We原创 2022-06-17 08:00:00 · 714 阅读 · 1 评论 -
Redis使用Lua脚本时为什么能保证原子性
昨天面试问了一道题,让我猝不及防,说到了Lua脚本,然后面试官问我Redis使用Lua脚本为什么能保证原子性?看一看下官方的说明:“Atomicity of scriptsRedis uses the same Lua interpreter to run all the commands. Also Redis guarantees that a script is executed in an atomic way: no other script or Redis command will be原创 2021-04-24 01:06:18 · 9577 阅读 · 1 评论 -
Redis存储的键值没到过期时间就过期,线上token过期。
转眼入职一家公司已经12个工作日,由于公司不大,分了两三条业务线,每条业务线两三个后端,那么负责的东西也就很多了,没有所谓的运维,后端的活就更多了。自己就这样成了核心人员,一两个周改了二三十个bug,但是也有棘手的bug,比如这个token失效问题和kafka消息丢失问题,折磨了我两三天,说起来都是泪。其实我早该想到bug的原因的终究还是经验太少了,测试环境的用户登录没有问题,而生产环境的用户登录总是莫名其妙的掉线,token我明明在redis设置了半个月时间,于是去一步步排查代码,怎么测都不行,加上还有原创 2021-05-23 01:36:12 · 2213 阅读 · 11 评论 -
工作中常用到的Stream流的操作
这是我工作中用的比较多的stream流操作,在这里记录一下,后续有时间还会更新。package com.attack.bat.interview.java8.stream;import com.attack.bat.interview.java8.entity.Device;import org.springframework.util.CollectionUtils;import java.math.BigDecimal;import java.time.LocalDateTime;imp原创 2021-05-23 15:53:08 · 352 阅读 · 2 评论 -
SpringBoot或Nginx方式实现通过URL链接直接在服务器下载图片、Excel、Pdf等静态资源文件
一、Springboot项目直接将静态资源放入web对应的resource的static文件夹(没有static的话可能有template,需要在配置文件配置下),不推荐,当然也可以写接口进行下载,也不推荐,不再展开。二、通过nginx直接下载,推荐使用,重点讲解改步骤。不会nginx还没有吧,没有装一个吧,可以看该博客有详细步骤。最新nginx下载安装卸载详细教程将静态资源放在服务器某一个文件夹下,记住该路径即可,这里为 /home/test/pdf编辑nginx配置文件vim /etc/n原创 2021-12-01 22:56:39 · 2907 阅读 · 0 评论