当前位置:网站首页>boot - SSE
boot - SSE
2022-08-03 06:25:00 【iiaythi】
boot - SSE 使用
sse(
Server Sent Event
),直译为服务器发送事件,顾名思义,也就是客户端可以获取到服务器发送的事件
webflux 使用
@GetMapping("/stream-sse")
public Flux<ServerSentEvent<String>> streamEvents() {
return Flux.interval(Duration.ofSeconds(1))
.map(sequence -> ServerSentEvent.<String> builder()
.id(String.valueOf(sequence))
.event("periodic-event")
.data("SSE - " + LocalTime.now().toString())
.build());
}
@GetMapping(path = "/stream-flux", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<String> streamFlux() {
return Flux.interval(Duration.ofSeconds(1))
.map(sequence -> "Flux - " + LocalTime.now().toString());
}
spring-mvc 方式
@GetMapping("/stream-sse-mvc")
public SseEmitter streamSseMvc() {
SseEmitter emitter = new SseEmitter();
ExecutorService sseMvcExecutor = Executors.newSingleThreadExecutor();
sseMvcExecutor.execute(() -> {
try {
for (int i = 0; true; i++) {
SseEmitter.SseEventBuilder event = SseEmitter.event()
.data("SSE MVC - " + LocalTime.now().toString())
.id(String.valueOf(i))
.name("sse event - mvc");
emitter.send(event);
Thread.sleep(1000);
}
} catch (Exception ex) {
emitter.completeWithError(ex);
}
});
return emitter;
}
边栏推荐
- empty() received an invalid combination of arguments - got (tuple, dtype=NoneType, device=NoneType),
- 贷中存量客户的价值挖掘与分类实现,试试这一重要的场景模型
- 帆软11版本参数联动为null查询全部
- 一篇文章教你写扫雷(c语言基础版)
- Example of embedding code for continuous features
- Sqoop 导入导出 Null 存储一致性问题
- Detailed explanation of AutoInt network and pytorch reproduction
- 解决plt.imshow()不显示图片cv2.imshw()不显示图片
- 华为设备BFD配置命令
- CISP-PTE Zhenti Demonstration
猜你喜欢
随机推荐
Autowired注解与Resource注解的区别
PHP 获取服务器信息
学会可视化大屏布局技巧,让领导都赞不绝口
Nacos单机模式的安装与启动
连续型特征做embedding代码示例
MySQL的10种常用数据类型
被数据分析重塑的5个行业
信息学奥赛一本通T1454:山峰和山谷
关于NOI 2022的报到通知
QT信号与槽
MySQL - 触发器
Cesium加载离线地图和离线地形
pyspark --- 统计多列的众数并一次返回
Getting Started with Chrome Plugin Development
DIFM网络详解及复现
多线程打印ABC(继承+进阶)
AlexNet网络详解及复现
Sqoop 导入导出 Null 存储一致性问题
MySQL性能优化(硬件,系统配置,表结构,SQL语句)
信息学奥赛一本通T1453:移动玩具