Java版Flink使用指南——将消息写入到RabbitMQ的队列中
大纲
- 新建工程
- 新增依赖
- 编码
- 自动产生数据
- 写入RabbitMQ
- 测试
- 工程代码
在 《Java版Flink使用指南——从RabbitMQ中队列中接入消息流》一文中,我们介绍了如何使用Java在Flink中读取RabbitMQ中的数据,并将其写入日志中。本文将通过代码产生一些数据,然后将它们写入到另外一个RabbitMQ队列中。
新建工程
我们在IntelliJ中新建一个工程SinkToRabbitMQ。
Archetype填入:org.apache.flink:flink-quickstart-java
版本填入与Flink的版本:1.19.1

新增依赖
在pom.xml中新增RabbitMQ连接器
<dependency><groupId>org.apache.flink</groupId><artifactId>flink-connector-rabbitmq</artifactId><version>3.0.1-1.17</version></dependency>
编码
自动产生数据
这段代码将产生两个字符串数据,后续这些数据会被写入到RabbitMQ的队列中。
List<String> data = new ArrayList<>();
data.add("Hello, World!");
data.add("Hello, Flink!");
DataStream<String> stream = env.fromCollection(data);
写入RabbitMQ
不同于《Java版Flink使用指南——从RabbitMQ中队列中接入消息流》中创建RMQSource用来接收RabbitMQ队列中数据,这次我们创建RMQSink用来发布数据。
String sinkQueueName = "data.to.rbtmq"; // name of the queue to send data to
String host = "172.21.112.140"; // IP of the rabbitmq server
int port = 5672;
String username = "admin";
String password = "fangliang";
String virtualHost = "/";
int parallelism = 1;RMQConnectionConfig rmqConnectionConfig = new RMQConnectionConfig.Builder().setHost(host).setPort(port).setUserName(username).setPassword(password).setVirtualHost(virtualHost).build();RMQSink<String> stringRMQSink = new RMQSink<>(rmqConnectionConfig, sinkQueueName, new SimpleStringSchema());
stream.addSink(stringRMQSink).name(username + "'s sink to " + sinkQueueName).setParallelism(parallelism);
测试
打包、提交并运行任务

然后在RabbitMQ的后台可以看到收到两条消息

其内容也是我们之前在代码中生成的内容

工程代码
https://github.com/f304646673/FlinkDemo
相关文章:
Java版Flink使用指南——将消息写入到RabbitMQ的队列中
大纲 新建工程新增依赖 编码自动产生数据写入RabbitMQ 测试工程代码 在 《Java版Flink使用指南——从RabbitMQ中队列中接入消息流》一文中,我们介绍了如何使用Java在Flink中读取RabbitMQ中的数据,并将其写入日志中。本文将通过代码产生一些数据…...
python excel openpyxl
python excel LTS 在开始之前,确保已经安装了 Python 和所需的库。 主要使用以下库: openpyxl:用于读取和写入 Excel 文件。 pandas:用于数据处理和分析。 xlwings:用于将 Python 与 Excel 连接,实现双向…...
C++八股(一)
目录 一、new和malloc ⭐ 二、class和struct的区别 ⭐ 三、char和int之间的转换 四、什么是野指针和悬挂指针 ⭐ 五、NULL和nullptr区别⭐ 六、指针常量和常量指针有何区别⭐ 七、物理内存和虚拟内存的区别⭐ 八、重载、重写和隐藏的区别⭐ 九、简述面向对象(OOP)的…...
【Git的基本操作】版本回退 | 撤销修改的三种情况 | 删除文件
目录 5.版本回退 5.1选项hard&后悔药 5.2后悔药&commit id 5.3版本回退的原理 6.撤销修改 6.1情况一 6.2情况二 6.3情况三 7.删除文件 Git重要能力之一马,版本回退功能。Git是版本控制系统,能够管理文件历史版本。本篇以ReadMe文件为…...
STM32-I2C
本内容基于江协科技STM32视频学习之后整理而得。 文章目录 1. I2C通信1.1 I2C通信简介1.2 硬件电路1.3 I2C时序基本单元1.3.1 起始条件和终止条件1.3.2 发送一个字节1.3.3 接收一个字节1.3.4 发送应答和接收应答 1.4 I2C时序1.4.1 指定地址写1.4.2 当前地址读1.4.3 指定地址读…...
04.ffmpeg打印音视频媒体信息
目录 1、相关头文件 2、相关结构体 3、相关函数 4、函数详解 5、源码附上 1、相关头文件 #include <libavformat/avformat.h> 包含格式相关的函数和数据结构 #include <libavutil/avutil.h> 包含一些通用实用函数 2、相关结构体 AV…...
微信开发授权登录梳理总结
授权登录流程对比 微信公众号/网页 微信文档地址:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html 流程图如下: 特殊说明: 步骤1拼接的微信地址是:https://open.weixin.qq…...
HTML5实现我的音乐网站源码
文章目录 作者:[xcLeigh](https://blog.csdn.net/weixin_43151418) 1.设计来源1.1 界面效果1.2 轮播图界面1.3 音乐播放界面1.4 视频播放界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 作…...
UNI_App平台调试指南 debug(十五)
App平台调试指南 debug 常规开发里,在 HBuilderX 的运行菜单里运行 App,手机端的错误或 console.log 日志信息会直接打印到控制台。 如果需要更多功能,比如审查元素、打断点 debug,则需要启动调试模式。自 HBuilderX 2.0.3+ 版本起开始支持 App 端的调试。 #打开调试窗口…...
LLM之RAG实战(四十一)| 使用LLamaIndex和Gemini构建高级搜索引擎
Retriever 是 RAG(Retrieval Augmented Generation)管道中最重要的部分。在本文中,我们将使用 LlamaIndex 实现一个结合关键字和向量搜索检索器的自定义检索器,并且使用 Gemini大模型来进行多个文档聊天。 通过本文,我…...
【错题集-编程题】AOE还是单体?(贪心)
牛客对应链接:AOE还是单体? (nowcoder.com) 一、分析题目 如果使用一次 AOE 造成的伤害比消耗的蓝量多,那就使用。否则就一直使用单体伤害。 二、代码 //值得学习的代码 #include <iostream> #include <algorithm>using namespa…...
怎么办?我的C盘又爆红了!别慌!博主手把手带你管理你的C盘空间~
怎么办?我的C盘又爆红了!别慌!博主手把手带你管理你的C盘空间~ 文章目录 怎么办?我的C盘又爆红了!别慌!博主手把手带你管理你的C盘空间~0. 在开始清理之前1. 推荐执行的操作1.1 清理系统缓存文件1.2 磁盘清…...
react启用mobx @decorators装饰器语法
react如果没有经过配置,直接使用decorators装饰器语法会报错: Support for the experimental syntax ‘decorators’ isn’t currently enabled 因为react默认是不支持装饰器语法,需要做一些配置来启用装饰器语法。 step1: 在 tsconfig.js…...
计算机如何学习
1. 不要只盯着计算机语言学习,你现在已经学习了C语言和Java,暑假又规划学习Python,最后你掌握的就是计算机语言包而已。 2. 建议你找一门想要深挖的语言,沿着这个方向继续往后学习知识就行。计算机语言是学不完的,而未…...
【Python 基础】函数 - 1
函数 从前面的章节中,你已经熟悉了 print()、input()和 len()函数。Python 提供了这样一些内建函数,但你也可以编写自己的函数。“函数”就像一个程序内的小程序。 为了更好地理解函数的工作原理,让我们来创建一个 函 数 。 在 文 件 编 辑器 中 输 入 下 面 的 程 序 , …...
从0到1开发一个Vue3的新手引导组件(附带遇到的问题以及解决方式)
1. 前言: 新手引导组件,顾名思义,就是强制性的要求第一次使用的用户跟随引导使用应用,可以让一些第一次使用系统的新手快速上手,正好我最近也遇到了这个需求,于是就想着开发一个通用组件拿出来使用(写完之后才发现element就有,后悔了哈哈哈😭😭) 示例图…...
概率统计(二)
二维离散型 联合分布律 样本总数为16是因为,两封信分别可以放在4个信箱 边缘分布律 条件分布律 独立性 选填才能用秒杀 联合概率乘积不等于边缘概率的乘积则不独立 二维连续型 区间用一重积分面积用二重积分 离散型随机变量 常见6个分布的期望和方差 离散型随机变…...
文件类:如何将excel文件转为csv文件(且保留时间格式)?
最近有个场景,在ftp服务器上,读取csv文件并入库,但是客户提供的一部分文件却是xls文件,就得搞个将excel转为csv文件的方法,话不多说直接开干。 方法 public static void convertExcelToCSV(String excelFilePath, Str…...
FiddlerScript Rules修改-更改发包中的cookie
直接在fiddler script editor中增加如下处理代码即可 推荐文档oSession -- 参数说明 测试笔记 看云...
直升机停机坪的H代表什么
可为什么直升机的停机坪为什么要用“H”来表示呢? Helicopter 直升机停机坪的“H”来自直升机的英文Helicopter的首字母,也是停机坪的识别标志,表示可用于直升机的垂直起降,方便于直升机飞行员在空中能快速识别降落位置。 另外…...
AWS容器服务终极指南:如何实现高效微服务治理与API网关集成
AWS容器服务终极指南:如何实现高效微服务治理与API网关集成 【免费下载链接】containers-roadmap This is the public roadmap for AWS container services (ECS, ECR, Fargate, and EKS). 项目地址: https://gitcode.com/gh_mirrors/co/containers-roadmap …...
Baichuan-7B代码生成能力:编程助手的最佳选择 - 7B参数大模型的终极指南
Baichuan-7B代码生成能力:编程助手的最佳选择 - 7B参数大模型的终极指南 【免费下载链接】Baichuan-7B A large-scale 7B pretraining language model developed by BaiChuan-Inc. 项目地址: https://gitcode.com/gh_mirrors/ba/Baichuan-7B Baichuan-7B是由…...
如何为Windows 11 LTSC系统一键安装微软商店:3分钟解决应用生态难题
如何为Windows 11 LTSC系统一键安装微软商店:3分钟解决应用生态难题 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore 你是否在使用Windows …...
为什么你的Zotero无法正确处理中文文献?Jasminum给出完美答案
为什么你的Zotero无法正确处理中文文献?Jasminum给出完美答案 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 在学术研…...
OmX与低代码开发:加速应用构建的终极AI工具指南
OmX与低代码开发:加速应用构建的终极AI工具指南 【免费下载链接】oh-my-codex OmX - Oh My codeX: Your codex is not alone. Add hooks, agent teams, HUDs, and so much more. 项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-codex 在当今快速发…...
微信网页授权redirect_uri配置全解析:从错误码10003到完美避坑指南
1. 微信网页授权redirect_uri配置全解析 最近在开发一个需要微信登录的项目时,遇到了经典的错误码10003问题。当时调试了大半天才发现是redirect_uri配置出了问题。相信很多开发者都踩过这个坑,今天我就把完整的解决方案和避坑经验分享给大家。 微信网页…...
如何突破登录壁垒?多登录系统让所有玩家畅玩同一游戏服务器
如何突破登录壁垒?多登录系统让所有玩家畅玩同一游戏服务器 【免费下载链接】MultiLogin 外置共存 项目地址: https://gitcode.com/gh_mirrors/mu/MultiLogin 在游戏服务器管理中,管理员常常面临一个棘手问题:如何让使用不同账号系统的…...
AI专著撰写大揭秘:实用工具深度解读,轻松打造学术佳作
撰写学术专著不仅考验研究者的学术能力,同样是对心理承受力的挑战。与可以通过团队合作完成的论文写作不同,专著的创作通常是“独自一人”的过程。从选定主题、搭建框架到具体的内容撰写和修改,每一个环节几乎都需要研究者亲自完成。长期处于…...
Formbricks v3.5.0发布:移动端体验革命与缓存性能倍增
Formbricks v3.5.0发布:移动端体验革命与缓存性能倍增 【免费下载链接】formbricks Open Source Qualtrics Alternative 项目地址: https://gitcode.com/GitHub_Trending/fo/formbricks Formbricks作为一款开源的Qualtrics替代方案,在v3.5.0版本中…...
ClusterFuzz终极内存泄漏检测指南:LSAN与UBSAN的完整配置教程
ClusterFuzz终极内存泄漏检测指南:LSAN与UBSAN的完整配置教程 【免费下载链接】clusterfuzz Scalable fuzzing infrastructure. 项目地址: https://gitcode.com/gh_mirrors/cl/clusterfuzz ClusterFuzz是一款强大的可扩展模糊测试基础设施,能够帮…...
