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: streamDemocloud:function:definition: streamDemostream:bindings:streamDemo-out-0:destination: streamDemogroup: ${spring.application.name}streamDemo-in-0:destination: streamDemogroup: ${spring.application.name}kafka:binder:auto-create-topics: truereplication-factor: 1brokers: kafkaServer:9092

生产者代码

@Service
@Slf4j
public class MiddleMessageProducer {private static final String pvRecordChannel  =  "streamDemo-out-0";@Resourceprivate StreamBridge streamBridge;public void saveLogInfo(String msg) {streamBridge.send( pvRecordChannel, MessageBuilder.withPayload(msg).build());}}

消费者代码

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

验证

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/458139.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何实现Vuex本地存储

在前端开发中&#xff0c;Vuex是一款非常强大的状态管理工具&#xff0c;但是默认情况下&#xff0c;Vuex的数据是存储在内存中的&#xff0c;刷新页面后数据将会丢失。这往往会导致用户在刷新页面后需要重新登录等繁琐的操作。本篇文章将教会您如何实现Vuex的本地存储&#xf…

华为配置访客接入WLAN网络示例(MAC优先的Portal认证)

配置访客接入WLAN网络示例&#xff08;MAC优先的Portal认证&#xff09; 组网图形 图1 配置WLAN MAC优先的Portal认证示例组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 某企业为了提高WLAN网络的安全性&#xff0c;采用MAC优先的外置Portal认…

利用k8s Infra 容器,解决pod网络故障注入的问题

目录 一、infra容器作用 二、pod网络故障注入问题 三、充分利用pod infra容器 一、infra容器的作用 我们知道&#xff0c;在kubernetes中&#xff0c;pod中容器的资源隔离主要通过namespace和cgroup来实现。那如果我们需要为pod中的容器共享某种资源应该怎么做。kubernetes …

uniapp小程序端使用计算属性动态绑定style样式踩坑

踩坑点: 使用uniapp编译小程序端动态绑定复杂style使用计算属性方式&#xff0c;return必须返回json字符串格式&#xff0c;不能返回object&#xff0c;否则会不起作用。 代码总览 视图层 逻辑层&#xff08;注意这里是使用的计算属性哈&#xff09; 这里我封装成了一个个性化…

Win32 SDK Gui编程系列之--弹出式菜单

1.弹出式菜单 例如,在命令提示窗口中点击鼠标右键,会出现如下图所示的弹出菜单(下拉菜单)。 这种弹出式菜单的实现很简单。不创建菜单栏,用CreatePopupMenu函数创建的菜单是最顶端的菜单就可以了。 菜单的显示使用TrackPopupMenu函数进行。 例如,点击鼠标右键显示弹出…

12.0 Zookeeper 数据同步流程

在 Zookeeper 中&#xff0c;主要依赖 ZAB 协议来实现分布式数据一致性。 ZAB 协议分为两部分&#xff1a; 消息广播崩溃恢复 消息广播 Zookeeper 使用单一的主进程 Leader 来接收和处理客户端所有事务请求&#xff0c;并采用 ZAB 协议的原子广播协议&#xff0c;将事务请求…

第2章 路由

学习目标 掌握注册路由的方式&#xff0c;能够独立完成路由的注册 掌握URL传递参数的方式&#xff0c;能够通过URL规则向视图函数传递参数 掌握转换器用法&#xff0c;能够根据业务需求灵活应用内置转换器或自定义转换器 掌握指定请求方式&#xff0c;能够在注册路由时指定请…

字节跳动官方出品AI,白嫖使用GPT4!

关注我&#xff0c;紧跟本系列专栏文章&#xff0c;咱们下篇再续&#xff01; 作者简介&#xff1a;魔都技术专家兼架构&#xff0c;多家大厂后端一线研发经验&#xff0c;各大技术社区头部专家博主&#xff0c;编程严选网创始人。具有丰富的引领团队经验&#xff0c;深厚业务架…

AnimateDiffusion文字生成图片--入门

AnimateDiffusion文字生成图片--入门 1. 安装2. 插件2.1 汉化插件2.2 中文提示词插件2.3 模型下载插件2.4 模型下载2.5 c站helper插件2.6 c站秘钥 3. 模型4. 总结 gitio: https://a18792721831.github.io/ 下面基本上所有的操作都需要访问外网&#xff0c;请自行解决外网。 1. …

ROS笔记一:工作空间和功能包

目录 工作空间 如何创建工作空间&#xff1a; 编译工作空间 设置环境变量 功能包 创建功能包 CMakeLists.txt package.xml 工作空间 ROS的工作空间是用来存放工程文件代码的文件夹 ROS的开发依赖于工作空间&#xff0c;包括编写代码、编译等都是在工作空间下进行的 工作空…

vue electron应用调exe程序

描述 用Python写了一个本地服务编译成exe程序&#xff0c;在electron程序启动后&#xff0c;自动执行exe程序 实现 1. 使用node的child_process模块可以执行windows执行&#xff0c;通过指令调exe程序 // electron/index.js var cp require("child_process"); /…

【开源】SpringBoot框架开发城市桥梁道路管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询城市桥梁4.2 新增城市桥梁4.3 编辑城市桥梁4.4 删除城市桥梁4.5 查询单个城市桥梁 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的城市桥梁道路管理系统&#xff0c;支持…