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 # 每个消费者一次消费一个消息

嘿嘿嘿李博文到此一游

相关推荐
玄〤16 小时前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot
J_liaty16 小时前
Spring Boot拦截器与过滤器深度解析
java·spring boot·后端·interceptor·filter
亲爱的非洲野猪17 小时前
Java锁机制八股文
java·开发语言
rgeshfgreh17 小时前
C++字符串处理:STL string终极指南
java·jvm·算法
Zoey的笔记本17 小时前
「支持ISO27001的GTD协作平台」数据生命周期管理方案与加密通信协议
java·前端·数据库
lpfasd12317 小时前
Spring Boot 4.0.1 时变更清单
java·spring boot·后端
N***H48618 小时前
SpringBoot3.3.0集成Knife4j4.5.0实战
java
程序员欣宸18 小时前
LangChain4j实战之十三:函数调用,低级API版本
java·人工智能·ai·langchain4j
Java新手村18 小时前
【订单超时取消怎么设计】
java
阿蒙Amon19 小时前
C#每日面试题-常量和只读变量的区别
java·面试·c#