- 博客(13)
- 收藏
- 关注
原创 SpringBoot项目接入redisson实现分布式锁+RRateLimiter限流(JDK21)
SpringBoot项目接入redission实现分布式锁+RRateLimiter限流
2024-04-26 16:43:00 407 1
原创 kafka提高消费能力
Lag(条): 1,126,744。Lag(条): 1,663,526。平均消费速率(条/s): 1,160.06。平均生产速率(条/s): 617.99。平均消费速率(条/s): 461.11。平均生产速率(条/s): 528.09。如果不是非常重要的消息,可以适当丢弃。注意:该属性不设置默认是1。
2024-01-19 11:34:01 543
原创 javax.net.ssl.sslexception: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgor
安全证书的路径一般在这里。二.解决方案:安全证书问题。复制别人的安全证书替换自己本地的。
2023-12-26 16:29:15 739
原创 MapStruct原理解析
proess方法–>类里可以看到有个createSourceFile方法(Filer 接口),该方法会创建xxxxImpl类。另外,MapStruct 库的注解处理器生成源代码文件利用了模板引擎 FreeMarker 库。如图可以看到FreeMarker利用模板生成setter方法如下后缀为ftl的文件即为FreeMarker模板文件。
2023-12-15 17:20:52 449
原创 如何实现SPI机制
SPI(Service Provider Interface) 是一种面向接口编程的技术,它可以让一个程序根据接口约定规范自动发现和加载对应的实现类。它是一种 Java 种的接口编程规范,它定义了接口和服务提供者之间的约定规范,使得在运行时动态加载实现该接口的类。SPI 机制是通过在服务提供者接口上定义注解和在配置文件种指定实现类的方式来实现的。
2023-12-15 17:18:27 427
原创 Cannot invoke “Object.hashCode()“ because “key“ is null
使用queryWrapper查询语句报错,Cannot invoke “Object.hashCode()” because “key” is null。据说是jdk17加上3.3.x和3.3.4.x版本的mybatis-plus会出现这个问题。使用的mybatis-plus-boot-start,3.3.2版本。果然是的,更改mybatis-plus为3.5.1版本,就正常使用了。奇葩问题,springboot+mybatis-plus。SpringBoot版本是2.7.17。
2023-12-15 17:13:51 1167
原创 HMAC-SHA256签名
请求加上Authorization头部,按指定格式添加校验内容。timestamp:当前时间的13位毫秒时间戳。signature:请求签名,按指定方式生成。校验方式:固定为HMAC-SHA256。
2023-12-15 17:11:46 549
原创 SpringBoot项目实现策略模式
Slf4j//由子类负责初始化/*** 查询某一天在线时长* @return*/endTime);return 0;//接口返回的时长单位是秒return 0;//返回分钟return min;
2023-12-15 17:08:28 344
原创 redis分布式锁失效问题-幂等性
如果 RedisLockAspect 没有设置 @Order(Ordered.HIGHEST_PRECEDENCE) 注解,而且同时和 @Transactional 注解一起使用,那么事务注解 @Transactional 可能会在获取锁之前就开启了事务,从而导致无法保证先获取锁再开启事务的顺序。总之,通过正确设置切面的执行顺序,结合 @Transactional 注解和分布式锁的获取,可以确保在高并发环境下先获取锁再开启事务,从而有效地控制并发和保证数据一致性。二.日期字段是datetime。
2023-12-15 17:04:39 392
原创 bootstrapvalidator的简单校验【必填校验、长度校验、是否存在校验(remote)】
如果返回任何其他的值,页面验证将获取不到验证结果导致无法验证。
2023-12-15 16:53:06 568
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人