当前位置: 首页> 科技> IT业 > 2m线制作_软件是怎么开发的_91关键词排名_营销网站建设哪家快

2m线制作_软件是怎么开发的_91关键词排名_营销网站建设哪家快

时间:2025/7/26 16:30:36来源:https://blog.csdn.net/2201_75559074/article/details/146278521 浏览次数:2次
2m线制作_软件是怎么开发的_91关键词排名_营销网站建设哪家快

一、消息队列能解决什么问题?

  • 异步处理:解耦耗时操作(如发短信、日志记录)
  • 流量削峰:应对突发请求,避免系统过载
  • 应用解耦:服务间通过消息通信,降低依赖

二、快速整合RabbitMQ

1. 环境准备
  • 安装RabbitMQ(推荐Docker一键部署):
    docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management  
    
  • 访问管理界面:http://localhost:15672(账号/密码:guest/guest)
2. Spring Boot项目配置

① 添加依赖

<!-- pom.xml -->  
<dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-amqp</artifactId>  
</dependency>  

② 配置连接信息

# application.yml  
spring:  rabbitmq:  host: localhost  port: 5672  username: guest  password: guest  virtual-host: /  

三、核心代码实现

1. 生产者(发送消息)
@Component  
public class MsgProducer {  @Autowired  private AmqpTemplate amqpTemplate;  // 发送到指定队列  public void send(String message) {  amqpTemplate.convertAndSend("demo_queue", message);  System.out.println("消息已发送: " + message);  }  
}  
2. 消费者(接收消息)
@Component  
public class MsgConsumer {  // 监听指定队列  @RabbitListener(queues = "demo_queue")  public void handle(String message) {  System.out.println("收到消息: " + message);  }  
}  
3. 自动创建队列(可选)
@Configuration  
public class RabbitConfig {  // 声明队列(若不存在则自动创建)  @Bean  public Queue demoQueue() {  return new Queue("demo_queue");  }  
}  

四、测试消息收发

@SpringBootTest  
class DemoApplicationTests {  @Autowired  private MsgProducer msgProducer;  @Test  void testSend() {  msgProducer.send("Hello RabbitMQ!");  }  
}  

控制台输出

消息已发送: Hello RabbitMQ!  
收到消息: Hello RabbitMQ!  

五、扩展:常用注解与配置

注解/配置说明
@RabbitListener监听队列或交换机消息
@RabbitHandler处理消息的方法注解
@Exchange + @Binding声明交换机与队列绑定关系
spring.rabbitmq.listener.simple.retry.enabled=true启用消费失败重试

六、常见问题

  1. 消息未消费

    • 检查队列名是否一致
    • 消费者是否添加了@Component注解
    • 确认RabbitMQ服务是否正常运行
  2. 连接失败

    • 检查application.yml中的host、port、账号密码
    • 防火墙是否开放5672端口
  3. 消息重复消费

    • 启用消费者幂等处理
    • 使用@RabbitListener(id = "唯一ID")

七、其他MQ整合(简要)

MQ类型依赖配置核心注解
Kafkaspring-kafka@KafkaListener
RocketMQrocketmq-spring-boot-starter@RocketMQMessageListener

八、总结

通过Spring Boot整合RabbitMQ只需三步:

  1. 加依赖spring-boot-starter-amqp
  2. 配连接application.yml中设置RabbitMQ地址
  3. 用注解@RabbitListener实现消息监听

官方文档:Spring AMQP Reference

关键字:2m线制作_软件是怎么开发的_91关键词排名_营销网站建设哪家快

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: