解决org.apache.catalina.connector.ClientAbortException:
在做视频拖拽功能的时候会出现
java.io.IOException: 您的主机中的软件中止了一个已建立的连接
首先采用
response.setHeader("Access-Control-Allow-Origin","*");
response.setHeader("Access-Control-Allow-Methods","GET");
response.setHeader("Access-Control-Allow-Headers",":x-requested-with,content-type");
在获取视频流对response处理
如果还是报错但不影响功能 可以尝试 下面方案
解决方案分为几种:
浏览器端去解决,提高和后端连接的时间;
tomcat去做配置;
nignx去修改。
java处理办法:
@ControllerAdvice
@Slf4j
public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {
@ExceptionHandler(Exception.class)
protected ResponseEntity handleExceptions(Exception ex, WebRequest request) {
if (“org.apache.catalina.connector.ClientAbortException”.equals(ex.getClass().getName())) {
log.error(“发生clientAbortException”);
return null;
}
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.set(“Content-Type”, “application/json;charset=UTF-8”);
return new ResponseEntity(
“{“code”:500,“data”:null,“msg”:“服务器闹脾气,请稍后再试”}”, httpHeaders, HttpStatus.OK);
}
}
增加全局异常拦截,并且判断异常名称,如果每次为 org.apache.catalina.connector.ClientAbortException,则返回null。