生产者生产一条设置了TTL的延迟取消订单消息=>延迟队列交换机(通过绑定路由键)=>消息投递至延迟队列=>消息延迟队列时间到期=>经过死信队列交换机(通过绑定路由键)=>投递至死信队列=>消费者监听死信队列消息即时消费(做取消订单逻辑)。 下面来看代码: 一、先声明交换机、队列以及他们的绑定关系: @Configuration public...
下单后将订单直接放入未支付的延时队列中 如果超时未支付,则从队列中取出,进行修改为取消状态的订单 如果支付了,则不去进行取消,或者取消的时候做个状态筛选,即可避免更新 或者支付完成后,做个主动出队 还有就是用户主动取消订单,也做个主动出队 1)先来写个通用的Delayed : importlombok.Getter; i...