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

来源:互联网 发布:软件功能设计说明书 编辑:程序博客网 时间:2024/05/01 00:32

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