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

嘿嘿嘿李博文到此一游

相关推荐
养乐多07226 分钟前
【Java】IO流
java
俊男无期6 分钟前
超效率工作法
java·前端·数据库
中国胖子风清扬11 分钟前
SpringAI和 Langchain4j等 AI 框架之间的差异和开发经验
java·数据库·人工智能·spring boot·spring cloud·ai·langchain
月明长歌22 分钟前
【码道初阶】牛客TSINGK110:二叉树遍历(较难)如何根据“扩展先序遍历”构建二叉树?
java·数据结构·算法
用户21903265273534 分钟前
Spring Boot + Redis 注解极简教程:5分钟搞定CRUD操作
java·后端
Alice38 分钟前
linux scripts
java·linux·服务器
Filotimo_41 分钟前
Spring Data JPA 方法名查询特性的使用
java·开发语言·windows
代码栈上的思考44 分钟前
MyBatis:注解方式实现数据库 CRUD 全操作
java·开发语言·mybatis
JIngJaneIL1 小时前
基于java+ vue学生选课系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
百锦再1 小时前
京东云鼎入驻方案解读——通往协同的“高架桥”与“快速路”
android·java·python·rust·django·restful·京东云