Spring webflux - непрерывный излучатель - PullRequest
0 голосов
/ 09 июля 2019

Итак, у меня есть простой метод

Flux<Task> getTaskToProcess();

Я бы хотел, чтобы моя система непрерывно транслировала энтиты.Прямо сейчас я достигаю этого по-старому, как

while(!Thread.currentThread().isInterrupted()){
    getTaskToProcess().flatMap(....)
}

Я уверен, что это не лучший способ с помощью реактивного подхода.Как добиться непрерывного излучателя в реакторе проекта?

1 Ответ

0 голосов
/ 16 июля 2019

Попробуйте Flux # create или Flux # generate:

Flux<Task> tasks = Flux.create(sink -> {
  while(!Thread.currentThread().isInterrupted()) {
     sink.next(something);
  }
  sink.complete();
})
.subscribeOn(Schedulers.newSingle("stdin publisher"))
...