延迟队列
Rabbitmq并没有延迟队列
但是:死信队列+消息时间设置过期时间可以 达成我们想要的延迟队列效果
例如下单5分钟之内未支付就会取消订单,那么设置下单支付时间为5分钟后过期然后进入死信队列,一旦进入死信队列那么就自动取消订单
代码
消费者:
@Component
public class ttlproducer {
@Autowired
private RabbitTemplate rabbitTemplate;
// 模拟订单
public void makeTest(String a,String b){
String ExchangeName = "ttl.direct.Exchange";
String luYouKey = "ttl";
String message = UUID.randomUUID().toString();
System.out.println("订单生成----"+message);
rabbitTemplate.convertAndSend(Ex