【开发技巧/经验分享】使用SpringCloudStream操作RabbitMQ(内附重复消费的情况,并有相关解决方案)

本文介绍了如何使用SpringCloudStream操作RabbitMQ,包括引入依赖、配置、创建接口和接收类。在多实例运行时出现重复消费问题,通过设置group属性解决了此问题。最后,添加了消息接收完毕后的签收信息功能。
摘要由CSDN通过智能技术生成
1. 什么是SpringCloudStream?

SpringCloudStream是SpringCloud中对于消息中间件操作的封装包,目前支持的消息中间件有RabbitMQ、Kafka,以下是SpringCloudStream的模型图。

在这里插入图片描述
从上图可以发现消息的发送由output接口提供,消息的接收由input输入。应用程序与消息中间件通过Binder进行链接。

2. 为什么要使用SpringCloudStream?

SpringCloudStream是对消息中间件操作的再次封装,简化了消息中间件的细节,它可以使得我们对消息中间间无感知,使我们能够更加专注业务代码的开发。

3. 如何使用SpringCloudStream?
单个实例
3.1 在工程中引入相关Maven依赖
<!--springcloud stream操作rabbitmq所需依赖-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
</dependency>
3.2 编写相关配置信息
spring:
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest
  cloud:
    stream:
      bindings:
          input:
            destination: myMsg
          output:  
            destination: myMsg
3.2 编写一个StreamClient接口,并在里边声明消息输入、输出方法。
package com.qingyun.order.server.message;


import org.springframework.cloud.stream.annotation.Input;
import org.springframework.cloud.stream.annotation.Output;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.SubscribableChannel;

public interface StreamClient {
   
    
    static String INPUT="input";
    
    static String OUTPUT="output";

    @Input(StreamClient
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值