当前位置: 首页> 科技> 名企 > 外贸网站怎么做推广_廊坊网站关键词排名_免费友情链接网_汕头网站推广

外贸网站怎么做推广_廊坊网站关键词排名_免费友情链接网_汕头网站推广

时间:2025/7/18 6:22:58来源:https://blog.csdn.net/m0_70484213/article/details/145950622 浏览次数:0次
外贸网站怎么做推广_廊坊网站关键词排名_免费友情链接网_汕头网站推广

RabbitMq延时队列的实现

消息的TTL和死信Exchange
消息的TTL

在这里插入图片描述

死信Exchange

在这里插入图片描述

延时队列的两个实现

在这里插入图片描述

在这里插入图片描述

在spring boot中创建延时队列
设计建议规范

在这里插入图片描述

延时队列模型

一个交换机,一条延时队列,一条普通队列

在这里插入图片描述

创建延时队列
    @Beanpublic Queue orderDelayQueue() {Map<String, Object> arguments = new HashMap<>();//存放参数//死信路由arguments.put("x-dead-letter-exchange", "order-event-exchange");//死信路由键arguments.put("x-dead-letter-routing-key", "order.release.order");//过期时间arguments.put("x-message-ttl", 60000);Queue queue = new Queue("order.delay.queue", true, false, false, arguments);return queue;}
创建普通队列
	@Beanpublic Queue orderReleaseOrderQueue() {Queue queue = new Queue("order.release.order.queue", true, false, false);return queue;}
创建交换机
    @Beanpublic Exchange orderEventExchange() {return new TopicExchange("order-event-exchange", true, false);}
创建binding
@Bean
public Binding orderCreateOrderBinding(){return new Binding("order.delay.queue",Binding.DestinationType.QUEUE,"order-event-exchange","order.create.order",null);
}@Bean
public Binding orderReleaseOrderBinding(){return new Binding("order.release.order.queue",Binding.DestinationType.QUEUE,"order-event-exchange","order.release.order",null);
}
测试-发送消息
    @AutowiredRabbitTemplate rabbitTemplate;@GetMapping("/test")public String creatOrderTest(){//订单下单成功OrderEntity entity=new OrderEntity();entity.setOrderSn(UUID.randomUUID().toString());//给MQ发送消息rabbitTemplate.convertAndSend("order-event-exchange","order.create.order",entity);return "ok";}
测试-接收消息

这里 @RabbitListener注解设置了手动确认属性,ackMode="MANUAL"也可以替换为在配置文件properties中设置spring.rabbitmq.listener.simple.acknowledge-mode=manual

RabbitMq默认是自动确认模式

    @RabbitListener(queues="order.release.order.queue",ackMode="MANUAL")public void listener(OrderEntity entity, Channel channel, Message message) throws IOException {System.out.println("收到过期的订单消息:准备关闭订单");//手动确认channel.basicAck(message.getMessageProperties().getDeliveryTag(),false);}
关键字:外贸网站怎么做推广_廊坊网站关键词排名_免费友情链接网_汕头网站推广

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: