当前位置:网站首页>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;
}
边栏推荐
猜你喜欢
随机推荐
第六章:存储系统
(十五)51单片机——呼吸灯与直流电机调速(PWM)
AutoInt网络详解及pytorch复现
Laravel 中使用子查询
El - tree to set focus on selected highlight highlighting, the selected node deepen background and change the font color, etc
Nacos下载与安装
信息学奥赛一本通T1446:素数方阵
现货黄金分析的主要流派
学会可视化大屏布局技巧,让领导都赞不绝口
El - table column filter functions, control columns show and hide (effect and easy to implement full marks)
MySQL的DATE_FORMAT()函数将Date转为字符串
第五章:指令集
924. 尽量减少恶意软件的传播 前缀和
华为设备配置BFD多跳检测
Umi 4 快速搭建项目
FiBiNet torch复现
hashSet解析
一文搞懂什么是@Component和@Bean注解以及如何使用
JS 预编译
Multi-Head-Attention原理及代码实现