java - 使用 Spring Data Cassandra 进行实时流式传输(反应式)
问题描述
有没有办法使用 spring-data-cassandra 实时流数据?基本上,每当数据库有新添加时,我想向客户端发送数据。
这就是我想要做的: -
@GetMapping(path = "mapping", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<Mapping> getMapping() {
Flux<Mapping> flux = reactiveMappingByExternalRepository.findAll();
Flux<Long> durationFlux = Flux.interval(Duration.ofSeconds(1));
return Flux.zip(flux, durationFlux).map(Tuple2::getT1);
}
但是一旦流完成它就不会返回。
解决方案
简短的回答是否定的,没有通过 Cassandra 驱动程序实时流式传输实时更改。虽然 Cassandra 有一个 CDC(更改数据捕获),但它的级别很低,您需要在服务器上使用提交日志。有关详细信息,请参阅使用 datastax 侦听 cassandra 数据库。
推荐阅读
- json - 如何将 JSON 转换为关联/索引数组
- c# - 使用文本框在分数文本框中输入数据
- java - Spring Batch - 将参数从 Writer 传递到 Listener 以进行 afterJob(JobExecution jobExecution)
- javascript - 添加输入字段并使用javascript验证总和
- mysql - MySQL 服务器无法启动 - 错误!服务器退出但不更新 PID 文件
- kotlin - 结合两个列表并使用 rxjava 映射到新的类对象
- python - Python在数据框列中查找最大值以循环查找所有值
- laravel - 带有类别(和子类别)的导航栏
- dart - 如何从 firebase auth 获取 google_api 的客户端参数
- python - 来自客户端 C 的套接字发送,服务器 Python 问题