背景 原先的项目一部分在使用 SpringBoot 2.4,但 2.4 的版本中对于线程池没有默认的监控,需要自己去实现。但是在 2.6 版本有默认实现监控,所以想将项目升级到 2.6。 升级&问题 SpringBoot 和 SpringCloud 版本的对应关系,参考: https://start.spring.io/actuator/info 修改好…
前两天面试的时候,面试官问我:一个ip发请求过来,是一个ip对应一个线程吗?我突然愣住了,对于SpringBoot如何处理请求好像从来没仔细思考过,所以面试结束后就仔细研究了一番,现在就来探讨一下这个问题。 正文…
1. 前言 数据字段一般都要遵循业务要求和数据库设计,所以后端的参数校验是必须的,应用程序必须通过某种手段来确保输入进来的数据从语义上来讲是正确的。 2. 数据校验的痛点 为了保证数据语义的正确,我们需要进行大量的判断来处理验证逻辑。而且项目的分层也会造成一些重复的校验,产生大量与业务无关的代码。不利于代码的维护,增加了开发人员的工作量。 3. JSR…
根据groups来指定需要校验的字段 class StudentRequest {@ NotNull(message = "id不能为空!", groups = { AddGroup.class }) Integer id;@ NotBlank(message = "姓名不能为空", groups = { AddGroup.class,…
1.在用户登录后,如果要访问其他路径下的资源的话,我们是否还需要再验证一遍呢?而且我们登陆上系统长时间不操作的话还需不需要再次验证?所以这种情况下就很需要token来实现登录功能。并通过redis(redis是一个key-…
复现示例 比如我们写个接口: 我们特意去把 Long类型 14位 到 20位的数据都 塞到返回值里面 @RequestMapping("/test") @ResponseBody public TestDTO test(){ TestDTO testDTO=new TestDTO();…
除了最常用的关系数据库和缓存之外,之前我们已经介绍了在Spring Boot中如何配置和使用 MongoDB 、 LDAP 这些存储的案例。接下来,我们继续介绍另一种特殊的数据库:时序数据库InfluxDB在Spring Boot中的使用。 InfluxDB简介…
我Spring Boot 2中尝试使用Resilience4j。 当我在控制器类上实现时,是可以正常工作的,但当我在内部/服务方法中实现并尝试触发@CircuitBreaker时,它根本不起作用。 代码如下: @CircuitBreaker(name =SOME_SERVICE,fallbackMethod = "getStubResponse")…
最近公司某物联网项目需要使用socket长连接进行消息通讯,捣鼓了一版代码上线,结果BUG不断,本猿寝食难安,于是求助度娘,数日未眠项目终于平稳运行了,本着开源共享的精神,本猿把项目代码提炼成了一个demo项目,尽量摒弃了其中丑陋的业务部分,希望与同学们共同学习进步。 正文 一、项目架构 本项目使用了 netty 、 redis 以及…