相关文章推荐
忐忑的烤地瓜  ·  VBA宏:预期语句结束时出现编译错误 - ·  3 周前    · 
曾经爱过的刺猬  ·  java tcpclient java ...·  1 年前    · 
大鼻子的鸡蛋  ·  mysql - Function ...·  1 年前    · 
安静的消炎药  ·  三种方法为QLineEdit添加清除内容按钮 ...·  1 年前    · 
狂野的柳树  ·  震惊!JS的位运算符竟然做出这种事! - 掘金·  2 年前    · 
Code  ›  使用SseEmitter不断向网页输出结果开发者社区
社区功能
https://cloud.tencent.com/developer/article/1340252
踏实的橙子
1 年前
作者头像
code4it
0 篇文章

使用SseEmitter不断向网页输出结果

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 码匠的流水账 > 使用SseEmitter不断向网页输出结果

使用SseEmitter不断向网页输出结果

作者头像
code4it
发布 于 2018-09-17 15:45:38
2.2K 1
发布 于 2018-09-17 15:45:38
举报

序

之前写过一篇文章:springmvc不断输出文本到网页,采用的是对response不断进行write和flush实现的。在spring 4.2版本的时候提供了一个SseEmitter可以直接用来实现这个功能。

实例

@Controller
@RequestMapping("/sse")
public class SseEmitterController {
    private static final Logger LOGGER = LoggerFactory.getLogger(SseEmitterController.class);
    @Autowired
    @Qualifier("mvcTaskExecutor")
    ThreadPoolTaskExecutor mvcTaskExecutor;
    @GetMapping("")
    public SseEmitter sseDemo() throws InterruptedException {
        final SseEmitter emitter = new SseEmitter(0L); //timeout设置为0表示不超时
        mvcTaskExecutor.execute(() -> {
            try {
                for(int i=0;i<100;i++){
                    emitter.send("hello"+i);
                    LOGGER.info("emit:{}","hello"+i);
                    Thread.sleep(1000*1);
                emitter.complete();
            } catch (Exception e) {
                emitter.completeWithError(e);
        return emitter;
}

输出实例

data:"hello0"
data:"hello1"
data:"hello2"
data:"hello3"
data:"hello4"
 
推荐文章
忐忑的烤地瓜  ·  VBA宏:预期语句结束时出现编译错误 -
3 周前
曾经爱过的刺猬  ·  java tcpclient java tcpclient发送与接收_langrisser的技术博客_51CTO博客
1 年前
大鼻子的鸡蛋  ·  mysql - Function json_object does not exist - Stack Overflow
1 年前
安静的消炎药  ·  三种方法为QLineEdit添加清除内容按钮 - apocelipes - 博客园
1 年前
狂野的柳树  ·  震惊!JS的位运算符竟然做出这种事! - 掘金
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号