RabbitMQ从安装到使用

一.在Linux中安装RabbitMQ

  通过Docker安装:

    获取镜像(选用management是带有管理界面的)

docker pull rabbitmq:3.7.14-management

    查看下载好的镜像:docker images

    运行镜像:

docker run -d  -p 5672:5672 -p 15672:15672 --name myrabbitmq 镜像ID

    打开端口号或关闭防火墙就可以远程访问其管理界面了,如下所示

    

    默认账号密码都是guest,登录后页面如图所示:

      

    创建exchange:(exchange的作用是接收消息,并把消息放入队列中)

      

    创建queue:

      

    exchange绑定queue:

      

    exchange给队列发送消息案例

       

    点击发送后,刷新queue,发现queue中多了一条消息

      

    再点进去后可以查看具体内容

      

二.SpringBoot整合RabbitMQ

  1.引入RabbitMQ依赖

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

  2.配置RabbitMQ

spring.rabbitmq.host=192.168.2.129
#这里设置的端口是5672而不是15672
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

  3.使用RabbitMQ

    发送消息:

@Autowired
RabbitTemplate rabbitTemplate;
@Test
public void test1() {
   String str = "你好";
   rabbitTemplate.convertAndSend("amq.direct", "myqueue" , str);//第一个参数是交换器,第二参数是判断发送到哪个队列而制定的规则,第三个是发送消息的内容(注意,交换器需要绑定队列)
}

    获取消息:

@Test
public void test2() {
Object myqueue = rabbitTemplate.receiveAndConvert("myqueue");//这里放的是队列的名字,一次获取一条消息,获取后,队列中的消息将会删除
System.out.println(myqueue);
}

     使用代码创建exchange和queue:

@Autowired
AmqpAdmin amqpAdmin;
@Test
    public void test3(){
        //创建exchange
        amqpAdmin.declareExchange(new DirectExchange("test.exchange" , false , true));//exchange名称,是否持久化 ,是否自动删除,还可以添加参数类型
        //创建queue
        amqpAdmin.declareQueue(new Queue("testqueue" , false));//queue名称,是否持久化,还可以添加是否自动删除,参数类型等
        //创建绑定以及设置通信规则
        amqpAdmin.declareBinding(new Binding("testqueue",Binding.DestinationType.QUEUE,"test.exchange","test",null));//绑定的名称,绑定类型,绑定的exchange,给队列发送消息的规则,参数
    }

    使用代码删除exchange和queue:

    

 

原文地址:https://www.cnblogs.com/ywb-articles/p/10665492.html