您的位置:首页 > Web前端

RestEasy统一异常处理问题,处理之后前端一直处于等待状态未返回异常结果

2017-11-13 22:25 671 查看
RestEasy统一异常处理问题,处理之后前端一直处于等待状态未返回异常结果

问题描述:

在RestEasy使用自定义统一异常处理之后,但是前端一直未能收到后台返回结果,但是后台已经执行完毕,跟踪了源码发现没有什么异常情况。

使用jstack分析了堆栈也没有发现死锁或者阻塞,而且排查代码也没有发现有死循环之类的问题,但是一直没有返回,当把自定义异常处理屏蔽掉之后使用框架自带的异常,发现能够返回异常信息

,这就非常奇怪。

代码如下:

public class PaymentExceptionHandler implements ExceptionMapper<Throwable> {
private static final Logger logger =
LoggerFactory.getLogger( PaymentExceptionHandler.class );
@Override
public Response toResponse( Throwable exception ) {
logger.error( exception.getMessage(), exception );
//转换异常
PaymentResponse<Void> response =
ResponseHelper.errorResponse( exception );
String text = JsonUtils.toJson( response );

return Response.status(Status.BAD_REQUEST)
.entity(text).encoding("UTF-8").build();
}
}


也没有发现什么问题,但是当我把encoding(“UTF-8”)去掉之后就能正常返回,目前还需要确认原因。

参考文档:https://yq.aliyun.com/articles/65133
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐