SpringBoot 集成 RabbitMQ

1、添加依赖

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

2、application.yml 配置

参考: https://blog.csdn.net/begefefsef/article/details/123790849

#rabbitmq 配置
rabbitmq:
  host: 192.168.255.128
  username: guest
  password: guest
  #虚拟主机
  virtual-host: /
  #端口
  port: 5672
  listener:
    simple:
      #消费者最小数量
      concurrency: 10
      #消费者最大数量
      max-concurrency: 10
      #限制消费者,每次只能处理一条消息,处理完才能继续下一条消息
      prefetch: 1
      #启动时是否默认启动容器,默认为 true
      auto-startup: true
      #被拒绝时重新进入队列的
      default-requeue-rejected: true
  template:
    retry:
      #启用消息重试机制,默认为 false
      enabled: true
      #初始重试间隔时间
      initial-interval: 1000ms
      #重试最大次数,默认为 3 次
      max-attempts: 3
      #重试最大时间间隔,默认 10000ms
      max-interval: 10000ms
      #重试的间隔乘数
      multiplier: 1

3、编写配置类

@Configuration
public class RabbitMQConfig {
  private static final String QUEUE = "queue";

  @Bean
  public Queue queue() {
      return new Queue(QUEUE, true);
  }
}

4、编写消息发送者和消息接收者

@Service
@Slf4j
public class RabbitMQSender {
  @Resource
  private RabbitTemplate rabbitTemplate;

  public void send(Object msg) {
    log.info("发送消息-" + msg);
    rabbitTemplate.convertAndSend("queue", msg);
  }
}

@Service
@Slf4j
public class RabbitMQReceiver {
  //监听
  @RabbitListener(queues = "queue")
  public void receive(Object msg) {
    log.info("接收到消息--" + msg);
  }
}

5、编写应用类

@Controller
public class RabbitMQHandler {
  @Resource
  private RabbitMQSender mqSender;

  @RequestMapping("/mq")
  @ResponseBody
  public void mq() {
    mqSender.send("hello");
  }
}
posted @   必行之码  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
点击右上角即可分享
微信分享提示