如何在 Spring Boot 中从 Mongodb 读取集合数据并定期发布到 kafka 主题中

Posted

技术标签:

【中文标题】如何在 Spring Boot 中从 Mongodb 读取集合数据并定期发布到 kafka 主题中【英文标题】:How to read collection data from Mongodb and publish into kafka topic periodically in spring boot 【发布时间】:2021-01-18 06:25:50 【问题描述】:

我需要定期读取我的 mongo DB 表数据并使用 Spring Boot 将其发布到 Kafka 主题中。我在 Mongo DB 中创建了一个集合,并在 Mongo DB 中插入了一些记录。此外,我想定期从 Mongo DB 中读取数据,并且需要使用 Spring Boot 在 Kafka 的主题中发布这些表数据。我对春季批处理调度程序很陌生。你能建议我一个实现这一目标的想法吗?

提前致谢。

【问题讨论】:

【参考方案1】:

您所说的与 Spring Integration 更相关:https://spring.io/projects/spring-integration#overview

因此,您配置了 MongoDbMessageSourcePoller 以定期读取集合。 然后你有基于KafkaProducerMessageHandler 的服务激活器来将数据抑制到 Kafka 主题中。

在文档中查看更多信息:

https://docs.spring.io/spring-integration/docs/5.3.2.RELEASE/reference/html/mongodb.html#mongodb

https://docs.spring.io/spring-integration/docs/5.4.0-M3/reference/html/kafka.html#kafka

不确定如何使用 Spring Batch 执行此操作...

【讨论】:

非常感谢您的回复。我会尝试一下,如果我有任何疑问,请告诉您

以上是关于如何在 Spring Boot 中从 Mongodb 读取集合数据并定期发布到 kafka 主题中的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring Boot 中从双向表关系生成 DTO

如何在 Spring Boot 中从 mongodb 更改 geojson (GeoJsonPolygon) 的编组?

如何在spring boot中从restful控制器返回一个html页面?

如何在 Spring Boot 中从 MongoDb 中仅读取特定的 JSON 节点

如何在我的 Spring Boot 应用程序中从 AWS 访问环境变量

如何在 Spring Boot 中从端点响应中全局省略空 xml 标记?