zoukankan      html  css  js  c++  java
  • 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:

        

     

  • 相关阅读:
    从数据到代码—通过代码生成机制实现强类型编程
    .NET中oledb访问access含子查询的语句的参数置换顺序
    Android开发入门学习
    Shell脚本初步学习鸟哥Linux私房菜基础学习篇
    rpm打包学习
    关于计算机工作方向的几点想法
    source insight中文注释乱码问题的解决方案
    makefilerpm编译软件,输出依赖软件包的编译顺序
    在android中资源文件夹中添加一个新的图片资源
    Linux批量替换某种类型文件中的字符串sed和grep命令使用
  • 原文地址:https://www.cnblogs.com/ywb-articles/p/10665492.html
Copyright © 2011-2022 走看看