如何在 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
因此,您配置了 MongoDbMessageSource
和 Poller
以定期读取集合。
然后你有基于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 中从 mongodb 更改 geojson (GeoJsonPolygon) 的编组?
如何在spring boot中从restful控制器返回一个html页面?
如何在 Spring Boot 中从 MongoDb 中仅读取特定的 JSON 节点