先说结论吧:
大部分情况下,当需要了解某个知识点的时候,可以由chatgpt的回答入手和拓展。
看起来知识点是成体系的,但是细节上仍旧需要通过官方文档和动手试验来确定可靠性。
对于经常更新的技术来说,chatgpt的信息相对滞后。
下面就开始动手确认一下吧。
增加maven坐标
<dependency> <groupId>org.springframework.boot</groupId> &nbs...
Chatgpt-问它关于Springboot readiness的知识点
问:SpringBoot有没有readiness接口
是的,Spring Boot提供了 readiness 接口用于健康检查。Spring Boot Actuator 模块提供了很多有用的端点和功能,其中之一是 readiness 端点,它可以用来检查应用程序是否已准备好处理流量。
要启用 readiness 端点,你需要在你的项目中添加 Spring Boot Actuator 依赖。然后,你可以通过在应用程序的 application.properties 或 application.yml 文件中设置 management...
CAS5.3-登录验证的过程
之前就已经介绍过,CAS Server是通过Spring Web Flow来处理请求的。
在本篇文章中,不会具体介绍Spring Web Flow的使用方式,基本概念的话需要各位自行了解,只会在必须说明的时候会带出来一些介绍。
我很好奇的是,如果我在地址栏输入:
http://localhost:8080/cas/login
如果没有登录过,浏览器内会显示登录页面,如果已经登录过,浏览器会显示登录成功页面。
为什么同一个地址会显示两个页面,而这背后...
CAS5.3-自定义通过JWT获取TGT
这天气突然就热了起来,终于要进入我最喜欢的季节了。
上一篇CAS5.3-Restful方式认证,必须使用用户名和密码才能获取TGT。
翻了翻它的Rest Support,发现使用cas-server-support-rest-tokens,也仅仅是用JWT替代TGT而已。
也就是说,还是必须使用用户名和密码,只不过获得的TGT变成了JWT,然后拿着JWT去获取ST。
本篇尝试通过自定义的方式,实现以下需求:
通过JWT获得TGT,不再需要用户名和密码。
JWT的...
CAS5.3-Springboot集成客户端验证
距离今年结束还有半个月,距离春节还有一个半月,年底还有项目要上线,不知道还能更新几篇。
前面几篇说了说如何构建定制化的CAS Server,这篇开始说一说WEB项目如何使用CAS进行身份验证。
SpringMVC项目不打算单独开篇了,毕竟CAS就不是个新玩意,再搞个老古董,都2022年了,一点意义都没有。
SpringBoot集成的话,就几个关键步骤:
引入Jar包。yml中增加配置。增加Filter过滤器。增加Config...
CAS5.3-基于JWT认证
周末吃了个非常好吃的自助--温野菜,强烈推荐。
基于上一章,本章将介绍CAS Server如何基于JwtToken,进行身份验证。
首先需要了解一下CAS Server如何开启JWT Token认证支持,可以参考官方指南:
https://apereo.github.io/cas/5.3.x/installation/JWT-Authentication.html
其实,比较简单,大概的步骤如下:
1. 引入Jar包,开启支持。
2. 设置CAS Properties。
3. 在服务注册表中配...
CAS5.3-自定义准备
接下来会用几个篇幅的时间,记录一下如何定制自己的CAS Server。
使用CAS做单点登录也有年头了,貌似也没怎么详细记录过,这次也只能算个备忘,因为用的版本也很旧了。
为什么使用CAS 5.3.16这个版本?
高版本开始使用JDK11,另外使用Gradle编译。5.3.16这个版本支持JDK8,并且使用Maven编译,比较容易和目前的现实情况搭边。
从哪里获得源码?
Github因为某些不可描述的问题,时灵时不灵...
Camunda7 – 从completeTask看pvm
其实我也没想好怎么起这个题目,这是心血来潮后的一篇记录。
背景就是:我没尝试过Camunda,生产环境也没有任何经验,只是久闻大名之后,突然心痒,所以看了一下源码,切入点集中在pvm而已。
我想看看Camunda里面的pvm到底起了什么作用,它的原理和Flowable到底有何不同,所以才有了这篇文章。
因为只耗费了数个小时而已,所以也不输出结论,以免以偏概全。另外,这只是一篇源码走读,可能稍显枯...
RocketMQ – 消费者异常处理和图形化监控
在消费消息时,因为异常导致消费不成功的时候,RocketMQ默认会连续进行三次重试。
可以通过下面的代码测试一下:
@StreamListener("input1")public void receiveInput1(@Payload Message message) throws ValidationException { if (0 == count) { //此处模拟的是...
RocketMQ – 事务消息
选择RocketMQ是因为它支持事务消息,它的事务消息实现过程如下:
1. 先发送一条半消息。
2. 处理业务逻辑。
3. 业务逻辑成功,则确认消息,这时候半消息会正式推送至消费者。业务逻辑失败,则回滚消息,这时候半消息会取消。
4. 因为异常情况,导致无法确认或者回滚时,利用回查接口轮询最终的业务处理结果,再确认或者回滚消息。
上面的过程都是我抄的,只不过边读边理解,然后用自己的话...