当前位置: 首页 > article >正文

spring cloud stream

背景

主要解决不同消息中间件切换问题。实现不同中间件的代码解耦。
链接: 支持的中间件

在这里插入图片描述
后文使用kafka测试。

引入依赖

     <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-stream</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-stream-kafka</artifactId>
        </dependency>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2021.0.3</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

编写配置文件

配置文件

参考说明

spring:
  application:
    name: streamDemo
  cloud:
    function:
      definition: streamDemo
    stream:
      bindings:
        streamDemo-out-0:
          destination: streamDemo
          group: ${spring.application.name}
        streamDemo-in-0:
          destination: streamDemo
          group: ${spring.application.name}
      kafka:
        binder:
          auto-create-topics: true
          replication-factor: 1
          brokers: kafkaServer:9092

生产者代码

@Service
@Slf4j
public class MiddleMessageProducer {
    private static final String pvRecordChannel  =  "streamDemo-out-0";

    @Resource
    private StreamBridge streamBridge;


    public void saveLogInfo(String msg) {
        streamBridge.send( pvRecordChannel, MessageBuilder.withPayload(msg).build());
    }

}

消费者代码

@Slf4j
@Component
public class MessageConsumer{
    @Bean
    public Consumer<String> streamDemo() {
        return request -> {
            log.info("收到消息:{}",request);
        };
    }
}

验证


http://www.kler.cn/a/229738.html

相关文章:

  • Docker 可视化工具
  • 计算机网络-差错控制(纠错编码 海明码 纠错方法)
  • javascript实现深度拷贝
  • 体悟PyTorch的优雅
  • Java集合框架在数据处理中的应用场景
  • 6-2、T型加减速计算简化【51单片机+L298N步进电机系列教程】
  • SQL基础
  • Positive Technologies 帮助修复了流行的 Yealink 视频会议系统中的一个危险漏洞
  • 深度解析 Spring Security:身份验证、授权、OAuth2 和 JWT 身份验证的完整指南
  • 在idea中使用maven编译包,直接打包到远程环境上去了
  • 掌握Web服务器之王:Nginx 学习网站全攻略!
  • Unity3d Shader篇(三)— 片元半兰伯特着色器解析
  • Jupyter Notebook中的%matplotlib inline详解
  • python_蓝桥杯刷题记录_笔记_全AC代码_入门5
  • WebSocket相关问题
  • Linux进程信号处理:深入理解与应用(3)
  • 了解这六种最佳移动自动化测试工具吗?
  • 页面单跳转换率统计案例分析
  • Spring boot集成各种数据源操作数据库
  • 二叉树经典题题解(超全题目)(力扣)