spring-webflux - Spring webflux - 连续发射器
问题描述
所以我有一个简单的方法
Flux<Task> getTaskToProcess();
我希望我的系统能够连续流式传输实体。现在我以老式的方式实现它
while(!Thread.currentThread().isInterrupted()){
getTaskToProcess().flatMap(....)
}
我很确定这不是反应式方法的最佳方法。如何在项目反应堆中实现连续发射?
解决方案
尝试 Flux#create 或 Flux# 生成:
Flux<Task> tasks = Flux.create(sink -> {
while(!Thread.currentThread().isInterrupted()) {
sink.next(something);
}
sink.complete();
})
.subscribeOn(Schedulers.newSingle("stdin publisher"))
推荐阅读
- angular - 角度路由器布局部分有效
- minizinc - 迷你锌。计算循环中的班次数
- mysql - MySQL 8.0:插入日期数据时出错
- c++ - 矩阵的传递性
- python-3.x - ImportError:无法从“PIL”导入名称“_imaging”
- modx - 无法从 tpl 中的变量获取值。MODX
- python - pyplot总是绘制直线
- assembly - 尝试在 x86 程序集中执行 xchg 命令时如何解决此编译器错误?
- python - 如何将 numpy 数组打印(可视化)为二维矩阵?
- python - 如何将值从 Tkinter 中的列表框传递到数组,然后将这些值相加?