springboot整合rabbitMQ

1.创建一个springboot工程

2.导入rabbitMQ相关依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

3.yml配置文件配置mq五大参数即加上虚拟主机

spring:
  rabbitmq:
    host: 192.168.200.129     #rabbitMQ的IP地址
    port: 5672                #rabbitMQ连接端口
    username: test            #登录用户名
    password: test            #登录密码
    virtual-host: /test       #虚拟主机

4.声明exchange、queue,并且绑定它们,这是一个配置类

@Configuration
public class RabbitMQConfig {
    //1. 创建exchange - topic
    @Bean
    public TopicExchange getTopicExchange(){
        return new TopicExchange("boot-topic-exchange",true,false);
    }

    //2. 创建queue
    @Bean
    public Queue getQueue(){
        return new Queue("boot-queue",true,false,false,null);
    }

    //3. 绑定在一起
    @Bean
    public Binding getBinding(TopicExchange topicExchange, Queue queue){
        return BindingBuilder.bind(queue).to(topicExchange).with("*.red.*");//with指定路由条件
    }
}

5.测试类模拟生产者发布消息到RabbitMQ

@SpringBootTest
class SpringbootRabbitmqApplicationTests {

    @Autowired
    private RabbitTemplate rabbitTemplate;//这是springboot提供的一个工具类

    @Test
    void contextLoads() {
        rabbitTemplate.convertAndSend("boot-topic-exchange","slow.red.dog","红色大狼狗!!");//参数:交换机   路由  发送消息
    }

}

6.创建消费者监听消息

@Component
public class Consumer {

    @RabbitListener(queues = "boot-queue")//指定监听的列队名
    public void getMessage(Object message){
        System.out.println("接收到消息:" + message);//接收到消息
    }

}

上一篇:Java-RabbitMq-死信队列


下一篇:web登录exchange管理中心报错”HTTP 500"