springboot + rabbitmq routing模式

springboot + rabbitmq routing模式

在这里插入图片描述

配置类

@Configuration
public class RabbitMqConfig3 {

	@Bean
	public Queue queueOne(){

		return new Queue("queueOne");
	}

	@Bean
	public Queue queueTwo(){

		return new Queue("queueTwo");
	}


	@Bean
	public DirectExchange directExchange(){

		return new DirectExchange("directExchange");
	}

	@Bean
	public Binding queueOneBinding(){

		return BindingBuilder.bind(queueOne()).to(directExchange()).with("one");
	}

	@Bean
	public Binding queueTwoBinding(){

		return BindingBuilder.bind(queueTwo()).to(directExchange()).with("two");
	}

	@Bean
	public Binding queueThreeBinding(){

		return BindingBuilder.bind(queueTwo()).to(directExchange()).with("three");
	}
}

发送消息 - 生产者


@Service
public class RabbitMqService3 {

	@Autowired
	RabbitTemplate rabbitTemplate;

	public void send(String routingKey){

		rabbitTemplate.convertAndSend("directExchange",routingKey,"value:" + routingKey);
	}
}

接收消息 - 消费者

@Component
public class RabbitMqComponent3 {

	@RabbitListener(queues = "queueOne")
	public void listerQueueOne(String message){
		System.out.print("queueOne" + message);
	}

	@RabbitListener(queues = "queueTwo")
	public void listerQueueTwo(String message){
		System.out.print("queueTwo" + message);
	}

}
发布了43 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43866295/article/details/86704190