spring boot 使用 rabbitmq

spring boot rabbitmq 提供了非常简单的使用方法

rabbitmq 消息发布方式

  1. 直连模式

发布的信息只能被指定的队列消费

  1. 主题模式

发布的信息可以被多个匹配主题的队列消费

3.广播模式

发布的消息能被所有队列消费

package com.neo.rabbit;

import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Exchange;
import org.springframework.amqp.core.ExchangeBuilder;
import org.springframework.amqp.core.FanoutExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.core.TopicExchange;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
public class RabbitVBaseCreateTest {
	
	
	
	// 创建队列
	@Bean
	public Queue createMyQueue() {
		return new Queue("myQueue_1");
	}
	
	// 创建交换机 广播模式
	@Bean
	public FanoutExchange createFanoutExchange() {
		return new FanoutExchange("myFanoutExchange");
	}
	
	// 创建 主题模式的交换机
	public TopicExchange createTopicExchange() {
		return  new TopicExchange("TopicExchange");
	}
	
	// 创建直连模式的交换机 
	public DirectExchange  createDirectExchange() {
		return new DirectExchange("DirectExchange");
	}
	
	
	// 创建 并 绑定路由 
	@Bean
	public Binding binding0a(DirectExchange directExchange, Queue autoDeleteQueue0) {
	  return BindingBuilder.bind(autoDeleteQueue0).to(directExchange).with("myRoute");
	}
	
	
	// 队列绑定到指定的交换机上
	@Bean
    Binding bindingExchangeA() {
        return BindingBuilder.bind(this.createMyQueue()).to(this.createFanoutExchange());
    }
	

}


版权声明:本文为jiangwudidebaba原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。