发布确认的原理
发布确认的开启
发布确认的策略
单个确认发布(同步+阻塞)
批量确认发布(同步+阻塞)
其代码与单个确认相比,仅仅多了批处理的逻辑而已
异步确认发布(异步+非阻塞)
代码
如何处理异步未确认消息
需要修改的代码
1.在发布之前,把所有的消息先存在ConcurrentHashMap中
2.把确认成功的消息,从ConcurrentHashMap里删掉,剩下的就是未成功的。
为什么不直接或许未成功了,非要把成功的删掉? -- 猜测是为了保证ConcurrentHashMap里面,可以保证任何时候都能成为“未成功消息”的集合,方便后续做“是否继续重发”的判断
3.把ConcurrentHashMap里的重发(视频教程未写该部分...)