Прямая трансляция с использованием Spring Data Cassandra (реактивная) - PullRequest
0 голосов
/ 11 июля 2019

Есть ли способ транслировать потоковые данные, используя 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);
}

Но это не таквернитесь после завершения потока.

1 Ответ

1 голос
/ 16 июля 2019

Короткий ответ - нет, потоковых изменений в реальном времени через драйвер Cassandra не происходит. Хотя Cassandra имеет CDC (Change Data Capture), он довольно низкоуровневый, и вам нужно использовать журналы фиксации на сервере. См. Прослушивание базы данных кассандры с налогом на данные для получения дополнительной информации.

...