Rabbitmq 与springboot 结合

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

2.yml

spring:
  application:
    name: spring-boot-rabbitmq-sender
  rabbitmq:
    host: 127.0.0.1
    port: 5672
    username: mm
    password: 123
    virtual-host: /test

3. 

AmqpAdmin 创建组件:如交换机,队列,绑定队则
RabbitTemplate:发送,接受消息
 
package com.aynu.bootamqp;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.amqp.core.*;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class BootamqpApplicationTests {

    @Autowired
    RabbitTemplate rabbitTemplate;
    @Autowired
    AmqpAdmin amqpAdmin;

    @Test
    public void create(){
        Exchange exchange = new DirectExchange("test22222",true,false);
        amqpAdmin.declareExchange(exchange);
        System.out.println("创建成功");

        Queue queue = new Queue("999",true);
        amqpAdmin.declareQueue(queue);

        Binding binding = new Binding("999", Binding.DestinationType.QUEUE,"test22222","goods.add",null);
        amqpAdmin.declareBinding(binding);
    }

    @Test
    public void contextLoads(){
        String msg ="hello msg";
        rabbitTemplate.convertAndSend("test22222","goods.add",msg);
    }
    @Test
    public void receive(){
        Object o = rabbitTemplate.receiveAndConvert("999");
        System.out.println(o);
    }

}

4. 开启队列监控

   @Test
    @RabbitListener(queues = "999")
    public void receive1(){
        System.out.println();
    }

@EnableRabbit
@RunWith(SpringRunner.class)
@SpringBootTest
public class BootamqpApplicationTests {}
 
原文地址:https://www.cnblogs.com/mm163/p/10705939.html