• rabbitMQ系列4:springboot整合rabbitMQ


    一、简介:

    spring Boot使用了这么久,套路差不多摸清楚了。Spring Boot与其他组件进行整合,无非就是加入pom依赖,接着配置一些基本信息,然后就可以使用相关注解进行开发了。下面通过一个案例来了解整个整合过程。

    二、案例:

    1、引入依赖:

               <!-- rabbitmq依赖 -->
               <dependency>
                   <groupId>org.springframework.boot</groupId>
                   <artifactId>spring-boot-starter-amqp</artifactId>
               </dependency>

    2、RabbitMQ配置:

    spring.rabbitmq.host=127.0.0.1
    spring.rabbitmq.port=5672
    spring.rabbitmq.username=guest
    spring.rabbitmq.password=guest

    3、编写生产者:

    生产者用来生产消息并进行发送。需要用到RabbitTemplateRabbitTemplate是发送消息的关键类,convertAndSend方法可以指定消息发送的交换器、路由键、消息内容等。

    @Component
    public class Producer {
        @Autowired
        RabbitTemplate rabbitTemplate;
        
        public void produce() {
            String message =  new Date() + "Beijing";
            System.out.println("生产者生产消息=====" + message);
            rabbitTemplate.convertAndSend("rabbitmq_queue",  message);  //将消息发送到指定的消息队列中
        }
    }

    4、编写消费者:

    消费者消费生产者发送的消息。实现消费者主要用到注解@RabbitListener@RabbitListener是一个功能强大的注解。这个注解里面包含@QueueBinding、@Queue、@Exchange等注解,直接通过这个组合注解一次性搞定多个交换机、绑定、路由、并且配置监听功能等。

    @Component
    public class Consumer {
    ​
        /*
        监听 rabbitmq_queue 这个队列,如果该队列有新消息过来,则获取
        */
        @RabbitHandler
        @RabbitListener(queuesToDeclare = @Queue("rabbitmq_queue"))
        public void process(String message) {
            System.out.println("消费者消费消息=====" + message);
        }
    }

    5、测试:

    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class ApplicationTests {
    ​
        @Autowired
        Producer producer;
    ​
        @Test
        public void contextLoads() {
            producer.produce();
        }
    ​
    }

    6、测试结果:

    操作之后可以在测试控制台看到生产者消息发送成功,在该工程的控制台看到消息消费成功。

    访问RabbitMQ控制面板也会看到有消息。

    img

     

    转自:https://www.cnblogs.com/sgh1023/archive/2004/01/13/11256273.html

  • 相关阅读:
    动静分离和前后端分离相关
    Nginx搭建动态静态服务器
    动态资源与静态资源
    LVS与Keepalived
    Tomcat实现多主多备
    Keepalived实现心跳检测实现自动重启
    nginx+keepalived简单双机主从热备
    keepalived安装
    php与java通用AES加密解密算法
    PHP修改memory_limit的三种办法
  • 原文地址:https://www.cnblogs.com/XueTing/p/13763821.html
Copyright © 2020-2023  润新知