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

嘿嘿嘿李博文到此一游

相关推荐
飛_2 小时前
解决VSCode无法加载Json架构问题
java·服务器·前端
久念祈3 小时前
C++ - 仿 RabbitMQ 实现消息队列--服务端核心模块实现(四)
分布式·rabbitmq
木棉软糖4 小时前
一个MySQL的数据表最多能够存多少的数据?
java
程序视点5 小时前
Java BigDecimal详解:小数精确计算、使用方法与常见问题解决方案
java·后端
愿你天黑有灯下雨有伞5 小时前
Spring Boot SSE实战:SseEmitter实现多客户端事件广播与心跳保活
java·spring boot·spring
Java初学者小白5 小时前
秋招Day20 - 微服务
java
狐小粟同学6 小时前
JavaEE--3.多线程
java·开发语言·java-ee
KNeeg_7 小时前
Spring循环依赖以及三个级别缓存
java·spring·缓存
AI_Gump8 小时前
【AI阅读】20250717阅读输入
java·spring boot·spring
找不到、了8 小时前
Java排序算法之<插入排序>
java·算法·排序算法