springboot + rabbitmq headers模式
2019-01-31 10:09
369 查看
springboot + rabbitmq headers模式
配置类:
@Configuration public class RabbitMqConfig5 { @Bean public Queue queueN1() { return new Queue("queueN1"); } @Bean public Queue queueN2() { return new Queue("queueN2"); } @Bean public HeadersExchange headersExchange(){ return new HeadersExchange("headersExchange"); } @Bean public Binding queueN1Binding(){ Map<String,Object> map = new HashMap<>(); map.put("queueName","queueN1"); map.put("bindType","whereAll"); return BindingBuilder.bind(queueN1()).to(headersExchange()).whereAll(map).match(); } @Bean public Binding queueN2Binding(){ Map<String,Object> map = new HashMap<>(); map.put("queueName","queueN2"); map.put("bindType","whereAny"); return BindingBuilder.bind(queueN2()).to(headersExchange()).whereAny(map).match(); } }
发送消息 - 生产者
@Service public class RabbitMqService5 { @Autowired RabbitTemplate rabbitTemplate; public void send(){ String messageStr = "hello queueN1"; MessageProperties messageProperties = new MessageProperties(); messageProperties.setHeader("queueName","queueN1"); messageProperties.setHeader("bindType","whereAll"); Message message = new Message(messageStr.getBytes(), messageProperties); rabbitTemplate.send("headersExchange",null,message); } public void send2(){ String messageStr = "hello queueN2"; MessageProperties messageProperties = new MessageProperties(); messageProperties.setHeader("queueName","queueN2"); messageProperties.setHeader("bindType","whereAll"); Message message = new Message(messageStr.getBytes(), messageProperties); rabbitTemplate.send("headersExchange",null,message); } }
接收消息 - 消费者
@Component public class RabbitMqComponent5 { @RabbitListener(queues = "queueN1") public void listerQueueN1(byte[] bytes){ System.out.println("queueN1" + new String(bytes)); } @RabbitListener(queues = "queueN2") public void listerQueueN2(byte[] bytes){ System.out.println("queueN2" + new String(bytes)); } }
相关文章推荐
- Springboot + rabbitMQ实现延迟消费以及spring与策略模式联合处理不同的业务(一)
- Springboot + rabbitMQ实现延迟消费以及spring与策略模式联合处理不同的业务(二)
- springboot+rabbitMq整合开发实战一
- Spring Boot RabbitMQ实践
- Spring Boot RabbitMQ 集成
- 4 微服务实战系列 - SpringBoot RabbitMQ 实战解决项目中实践
- spring boot rabbitmq传递bean(实体类)配置
- SpringBoot+RabbitMQ整合+简单实例
- Spring Boot RabbitMQ快速入门 (1)
- springboot+rabbitmq例子
- SpringBoot RabbitMq集成
- 【学习笔记】spring boot + zookeeper + dubbo + rabbitMq + mysql + thymeleaf/freemarker + mybaits 代码试验
- springboot+Rabit实战一:(Rabbit MQ windows 环境搭建)
- 基于dubbo的分布式项目框架搭建 开发工具idea (springboot+dubbo+zookeeper+redis+rabbitmq+基于Swagger2的restful api) --(五)
- Spring Boot RabbitMQ 延迟消息实现完整版
- Spring Boot+RabbitMQ学习笔记
- Spring Boot RabbitMQ快速入门 (2)
- SpringBoot RabbitMQ 整合进阶版
- springboot+RabbitMq之topic和fanout
- 基于dubbo的分布式项目框架搭建 开发工具idea (springboot+dubbo+zookeeper+redis+rabbitmq+基于Swagger2的restful api) --(一)