- 博客(14)
- 收藏
- 关注
原创 分布式事务的几个场景
这种场景如果consumer先commit offset再produce data,如果恰巧在commit 完,produce之前宕机,下次启动将会拉去下一批消息,原来的消息会丢失。方案一:先produce,再commit,中间宕机,启动的时候可以检查一次produce topic的数据,对比consumer拉取的数据,有重复的,则不发。先produce,再commit,则在中间宕机,下次启动会导致重复发送。方案一:这种场景也可以用场景一的方式,获取上下游数据做比对。
2025-06-22 07:58:18
157
原创 SpringBoot Scheduler 不会重叠执行,也不会任务堆积
我断点看任务队列,一直是0。后来断点业务代码,发现底层调用的是FutureTask.runAndReset。就是把任务重复利用的一个方法。所以线程一直执行的都只有一个Task,而并不是到点就重新塞Task进去队列。使用Scheduler,但是担心执行时间太长,导致任务堆积在队列里,亦或是没有等前面任务执行完,新的触发导致并发执行。于是我本地做了测试,发现测试代码并没有出现上面的问题。查了网上的资料,也问了AI,说会出现上面说的异常。还望有研究的大神指点迷津。
2024-12-19 16:21:10
144
原创 java tomcat 每次创建websocket不走@PostConstruct
同事在开发websocket的时候,发现9.0.58版本每次连接,都会走@PostConstruct方法,但是在9.0.30版本则不会我们断点原码,发现WebSocket实例化的的工作并不是交给spring容器处理的,而是tomcat自己的行为。(启动的时候会由Spring容器生成单例的对象,但是后续的 websocket 连接并不会走spring容器的doGetBean,而是进入tomcat自己的调用栈)58版本和30版本的tomcat在连接的时候都会走如下方法WsHttpUpgradeHan
2022-05-10 15:10:29
287
原创 XML转JSON
<dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20160810</version> </dependency>JSONObject xmlJSONObj = XML.toJSONObject(xmlStr);
2022-04-24 11:42:58
130
原创 找风眼程序
package com.example.demo.findwindeye;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import java.io.*;import java.math.BigDecimal;import java.util.Comparator;import java.util.List;import java.util.Optional;import java.
2022-04-24 11:36:53
139
原创 异步输出线程日志
大家都知道,日志是同步输出出来的。输出日志非常影响主线程执行效率。多线程打印日志会出线日志混乱的情况,一页日志可能包含了N个请求信息,影响问题排查效率。在没有适合的搜索工具...
2021-06-15 10:31:02
695
1
原创 责任链模式的简单实现
简单的责任链模式实现话不多说,直接上代码package com.zj.demo.demo.chain;public interface Chain { // 接口 void doFilter(Chain chain);}package com.zj.demo.demo.chain;import java.util.ArrayList;import java.util.List;public class ChainListImpl implements Chain{
2021-06-13 17:15:40
298
原创 @Before @After @Around @AfterReturning @AfterThrowing 执行顺序
==== 没有异常的情况环绕通知前....beforetest环绕通知后....afterafterReturning==== 有异常的情况环绕通知前....beforetestafterafterThrowable出现异常:msg=/ by zero==== 总结after一定走。是在finally里afterReturning 在抛异常时不出现。能取到返回值。说明是返回后获取before 在环绕通知后执行...
2021-06-11 16:56:31
1163
原创 redis-session改造过程
github地址:https://github.com/jcoleman/tomcat-redis-session-managertag原码下载地址:https://github.com/jcoleman/tomcat-redis-session-manager/releases/tag/1.2-tomcat-6
2021-06-11 10:46:25
1729
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人