第十二章 综合实战-主题模式+延迟消息-实现新商家规定时间内上架商品检查
第1集 案例实战-延迟消息实现业务逻辑介绍
简介:讲解RabbitMQ的案例实战业务逻辑介绍
背景
JD、淘系、天猫、拼多多电商平台,规定新注册的商家,审核通过后需要在【规定时间】内上架商品,否则冻结账号。
使用RabbitMQ实现
第2集 案例实战-SpringBoot2.X+RabbitMQ延迟消息配置开发
简介:讲解RabbitMQ的案例实战配置开发
死信交换机和死信队列开发
/** * 死信队列 */ public static final String LOCK_MERCHANT_DEAD_QUEUE = "lock_merchant_dead_queue"; /** * 死信交换机 */ public static final String LOCK_MERCHANT_DEAD_EXCHANGE = "lock_merchant_dead_exchange"; /** * 进入死信队列的路由key */ public static final String LOCK_MERCHANT_ROUTING_KEY = "lock_merchant_routing_key"; /** * 创建死信交换机 * @return */ @Bean public Exchange lockMerchantDeadExchange(){ return new TopicExchange(LOCK_MERCHANT_DEAD_EXCHANGE,true,false); } /** * 创建死信队列 * @return */ @Bean public Queue lockMerchantDeadQueue(){ return QueueBuilder.durable(LOCK_MERCHANT_DEAD_QUEUE).build(); } /** * 绑定死信交换机和死信队列 * @return */ @Bean public Binding lockMerchantBinding(){ return new Binding(LOCK_MERCHANT_DEAD_QUEUE,Binding.DestinationType.QUEUE, LOCK_MERCHANT_DEAD_EXCHANGE,LOCK_MERCHANT_ROUTING_KEY,null); }
topic交换机和队列开发, 绑定死信交换机
/** * 普通队列,绑定的个死信交换机 */ public static final String NEW_MERCHANT_QUEUE = "new_merchant_queue"; /** * 普通的topic交换机 */ public static final String NEW_MERCHANT_EXCHANGE = "new_merchant_exchange"; /** * 路由key */ public static final String NEW_MERCHANT_ROUTIING_KEY = "new_merchant_routing_key"; /** * 创建普通交换机 * @return */ @Bean public Exchange newMerchantExchange(){ return new TopicExchange(NEW_MERCHANT_EXCHANGE,true,false); } /** * 创建普通队列 * @return */ @Bean public Queue newMerchantQueue(){ Map<String,Object> args = new HashMap<>(3); //消息过期后,进入到死信交换机 args.put("x-dead-letter-exchange",LOCK_MERCHANT_DEAD_EXCHANGE); //消息过期后,进入到死信交换机的路由key args.put("x-dead-letter-routing-key",LOCK_MERCHANT_ROUTING_KEY); //过期时间,单位毫秒 args.put("x-message-ttl",10000); return QueueBuilder.durable(NEW_MERCHANT_QUEUE).withArguments(args).build(); } /** * 绑定交换机和队列 * @return */ @Bean public Binding newMerchantBinding(){ return new Binding(NEW_MERCHANT_QUEUE,Binding.DestinationType.QUEUE, NEW_MERCHANT_EXCHANGE,NEW_MERCHANT_ROUTIING_KEY,null); }
第3集 案例实战-SpringBoot2.X 延迟消息生产和消费实战开发
简介:讲解RabbitMQ的案例实战-消息生产和消费
消息生产
投递到普通的topic交换机
消息过期,进入死信交换机
消息消费
消费者监听死信交换机的队列