RabbitMQ案例

1. 导入依赖

XML 复制代码
 <!--AMQP依赖,包含RabbitMQ-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>

发送消息


注入RabbitTemplate

java 复制代码
@Autowired
RabbitTemplate rabbitTemplate;

java 复制代码
  //队列
        String queueName = "test.query";
        //消息
        String message = "hello rabbitmq";
        //发送消息
        rabbitTemplate.convertAndSend(queueName,message);

监听接收消息

只需要在方法上添加注解即可

java 复制代码
 @RabbitListener(queues = "test.query")
java 复制代码
 @RabbitListener(queues = "test.query")
    void contextLoads(Object msg) {
        System.out.println("msg = " + msg);
    }

work模型

  1. 多个消费者绑定同一个队列,提升处理消息的速度

  2. 同一个消息只会被同一个消费者处理

  3. 通过prefetch限制一次只能消费一条消息,处理完才能处理下一条,实现能者多劳

java 复制代码
spring:
  rabbitmq:
    host: localhost
    port: 5672
    virtual-host: /hmall
    username: hmall
    password: 123
    listener:
      simple:
        prefetch: 1 # 每个消费者一次消费一个消息

嘿嘿嘿李博文到此一游

相关推荐
白露与泡影30 分钟前
Spring Boot中的 6 种API请求参数读取方式
java·spring boot·后端
CodeClimb30 分钟前
【华为OD-E卷 - 服务失效判断 100分(python、java、c++、js、c)】
java·javascript·c++·python·华为od
CodeClimb32 分钟前
【华为OD-E卷 - 九宫格按键输入 100分(python、java、c++、js、c)】
java·javascript·c++·python·华为od
豪宇刘39 分钟前
MyBatis 与 MyBatis-Plus 的区别
java·tomcat
一个儒雅随和的男子1 小时前
Spring为什么要用三级缓存解决循环依赖?
java·spring·缓存
梦想是成为Java高手1 小时前
ThreadLocal的介绍与使用规范,初学者必看
java
StevenGerrad1 小时前
【读书笔记/源码】How Tomcat Works 笔记 - c1~c10
java·笔记·tomcat
数据小小爬虫1 小时前
淘宝商品详情API返回值说明:Python爬虫代码示例
java·爬虫·python
起名方面没有灵感1 小时前
力扣23.合并K个升序链表
java·算法
m0_748233361 小时前
Spring中WebSocket的使用
java·websocket·spring