Springboot视频接口报大量的ClientAbortException找不到原因的解决

 更新时间:2023年08月04日 08:24:22   作者:学习使我快乐——玉祥  
本文主要介绍了Springboot视频接口报大量的ClientAbortException找不到原因的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

浏览器有自己的缓冲策略,比如视频接口吐出了100MB的视频数据,浏览器可不会全部拿走,而是按需去拿,

举个例子,浏览器拿的视频数据够看半分钟的,就停止读取数据了,但是http连接并未断开,因为这半分钟看完还要再去读取数据。

springboot视频接口向响应流写入100MB数据,并不是直接写入了http响应体中返回,而是写入了一个缓冲区,缓冲区再一点点输出。如下就是缓冲区的那个类:

org.apache.catalina.connector.OutputBuffer

调用了里面这个方法,先检测连接没断开,然后检测缓冲区还有数据,最后响应输出数据。

浏览器停止接收时,springboot发现输出不了数据,主动抛出了这个异常。 

这样做可能是希望让上层应用自己拦截处理,但目前这个视频播放场景,因为有了缓冲区,所以该异常不会导致视频数据丢失,不影响视频播放,不需要关注这个异常,因此建立全局的异常拦截器屏蔽就好了。

@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
    @ExceptionHandler(ClientAbortException.class)
    public void handleClientAbortException(ClientAbortException e){}
}

到此这篇关于Springboot视频接口报大量的ClientAbortException找不到原因的解决的文章就介绍到这了,更多相关Springboot ClientAbortException找不到原因内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Go Java算法之找不同示例详解

    Go Java算法之找不同示例详解

    这篇文章主要为大家介绍了Go Java算法之找不同示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • struts2 validation.xml 验证规则代码解析

    struts2 validation.xml 验证规则代码解析

    这篇文章主要介绍了struts2 validation.xml 验证规则代码解析,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Java消息队列Kafka的简单概述

    Java消息队列Kafka的简单概述

    这篇文章主要介绍了Java消息队列Kafka的简单概述,消息系统负责将数据从一个应用程序传输到另一个应用程序,应用程序可以专注于数据,不担心如何共享它,需要的朋友可以参考下
    2023-07-07
  • 在IDEA中 实现给main方法附带参数的操作

    在IDEA中 实现给main方法附带参数的操作

    这篇文章主要介绍了在IDEA中 实现给main方法附带参数的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 深入浅析jcmd:JDK14中的调试神器

    深入浅析jcmd:JDK14中的调试神器

    这篇文章主要介绍了jcmd:JDK14中的调试神器,本文给大家提到了jcmd的语法,通过实例列举的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Spring中的@EnableWebSecurity注解详解

    Spring中的@EnableWebSecurity注解详解

    这篇文章主要介绍了Spring中的@EnableWebSecurity注解详解,EnableWebSecurity注解是个组合注解,它的注解中,又使用了@EnableGlobalAuthentication注解,需要的朋友可以参考下
    2023-12-12
  • Java中的信号量Semaphore详细解读

    Java中的信号量Semaphore详细解读

    这篇文章主要介绍了Java中的信号量Semaphore详细解读,Java信号量机制可以用来保证线程互斥,创建Semaphore对象传入一个整形参数,类似于公共资源,需要的朋友可以参考下
    2023-11-11
  • IDEA Spring Boot 自动化构建+部署的实现

    IDEA Spring Boot 自动化构建+部署的实现

    这篇文章主要介绍了IDEA Spring Boot 自动化构建+部署的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Java Web开发入门书籍实例解析(总结一)

    Java Web开发入门书籍实例解析(总结一)

    从事Java Web开发这一段时间来,对Java 面向对象的思想和MVC开发模式可以说已经熟悉了。我当前参与的项目使用的框架是Spring、SpringMVC、Hibernate。下面脚本之家小编给大家整理一篇教程帮助大家学习javaweb相关知识,感兴趣的朋友可以参考下
    2016-03-03
  • 通过java api实现解压缩zip示例

    通过java api实现解压缩zip示例

    这篇文章主要介绍了通过java api实现解压缩zip示例,需要的朋友可以参考下
    2014-04-04

最新评论