首页 > 其他分享 >SseEmitter 服务器向客户端推送消息

SseEmitter 服务器向客户端推送消息

时间:2024-12-02 09:34:05浏览次数:5  
标签:org springframework event import SseEmitter 推送 emitter 客户端

import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;

import java.io.IOException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

@RestController
public class SseController {

private final ExecutorService nonBlockingService = Executors.newCachedThreadPool();

@GetMapping("/sse")
public SseEmitter handleSse() {
SseEmitter emitter = new SseEmitter();

nonBlockingService.execute(() -> {
try {
for (int i = 0; i < 10; i++) {
SseEmitter.SseEventBuilder event = SseEmitter.event()
.data("SSE event - " + i)
.id(String.valueOf(i))
.name("sse event")
.reconnectTime(10_000L);
emitter.send(event);
Thread.sleep(1000); // 模拟延迟
}
emitter.complete(); // 完成发送
} catch (IOException | InterruptedException e) {
emitter.completeWithError(e);
}
});

return emitter;
}
}

标签:org,springframework,event,import,SseEmitter,推送,emitter,客户端
From: https://www.cnblogs.com/wanqiang/p/18580946

相关文章

  • Move 合约部署踩坑笔记:如何解决 Sui 客户端发布错误Committing lock file
    Move共学活动:快速上手Move开发为了帮助更多开发者快速了解和掌握Move编程语言,Move共学活动由HOH社区、HackQuest、OpenBuild、KeyMap联合发起。该活动旨在为新手小白提供一个良好的学习平台,带领大家一步步熟悉Move语言,并了解如何将其应用到Web3开发中。通过......
  • 代码仓库客户端工具SourceTree的使用和安装
    1.概述        SourceTree是一款由Atlassian开发的图形化Git客户端,它允许用户通过直观的界面来管理Git仓库。下面是一些基本的使用步骤和功能介绍,帮助你开始使用SourceTree:2、SourceTree的使用安装下面是SourceTree的安装地址x​​​​​​​InstallSour......
  • 客户端WinForm实现Form表单格式自定义
    usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.ComponentModel.Design;usingSystem.ComponentModel.Design.Serialization;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;using......
  • 基于Linux下单进程的网络客户端和服务端开发
    基于Linux下单进程的网络客户端和服务端开发前言一、socket是什么?二、网络客户端1.创建流式套截字2.connect()3.send()4.recv()5.关闭socket三、网络服务端1.创建服务端监听套接字2.用于指定通信的IP和端口3.把socket设置为监听的socket4.接收客户端的连接5.recv()/send......
  • 电力IEC103/2/1/4规约数据采集仪器网关通讯管理机测试软件工具客户端服务器 LFP/NZ94/
      www.daq-iot.com 作为物联网数据采集解决方案专业提供商,数采物联网小编daq-iot在这里做以下内容介绍,并诚挚的欢迎大家讨论和交流。IEC103规约支持:工具完全适用于电力行业的各种通信测试采集需求。串口和以太网通信:工具支持通过串口和以太网进行通信,灵活适应不同的......
  • Outlook客户端登录世纪互联版邮箱提示“此用户名可能不正确”,或者显示错误代码CAAC03E
    故障现象使用Outlook客户端登录世纪互联版邮箱时,有时候会提示此用户名可能不正确。请确保键入的用户名正确无误。否则,请联系管理员。或者是提示错误代码CAAC03ED问题原因猜测是世纪互联版邮箱和MicrosoftEntra设备注册之间的bug解决方法方法①关掉outlook重新登录......
  • mongodb/redis/neo4j 如何自己打造一个 web 数据库可视化客户端?
    随笔从千万粉丝“何同学”抄袭开源项目说起,为何纯技术死路一条?数据源的统一与拆分监控报警系统的指标、规则与执行闭环我们的系统应该配置哪些监控报警项?监控报警系统如何实现自监控?java老矣,尚能饭否?一骑红尘妃子笑,无人知是荔枝来!张居正的考成法,对我们有何参考价值?mon......
  • java小工具封装-给定es客户端和SearchSourceBuilder和es索引名直接用scroll方式查询出
    封装类:传参1esClient传参2自定义searchSourceBuilder传参3索引名(可直接复制粘贴使用)publicstaticList<Map<String,Object>>getEsResultData(RestHighLevelClientesClient,SearchSourceBuildersearchSourceBuilder,Stringindex_name)throwsIOException{......
  • spring boot 获取客户端ip信息
    增加顶级过滤器`@javax.servlet.annotation.WebFilter(filterName="sessionFilter",urlPatterns="/webSocket/*")@Order(1)@Slf4jpublicclassWebFilterimplementsFilter{@OverridepublicvoiddoFilter(ServletRequestservletRequest,ServletR......
  • EAS_客户端重新设置F7过滤条件
    当需要对F7控件所打个视图中的内容进行过滤时,可对F7控件设置过滤条件,使用方法如下:EntityViewInfoevi=newEntityViewInfo();//创建实体视图FilterInfof=newFilterInfo();//创建过滤对象FilterItemInfofilter1=newFilterItemInfo("number","SHFL001",CompareTyp......