异常映射器不适用于wildfly RestEasy

时间:2016-11-14 21:36:28

标签: jax-rs wildfly resteasy exceptionmapper

我有网络资源

@Path("/test")
public class Test {

private TestService service;

@GET
@Path("/test")
@Produces(MediaType.APPLICATION_JSON)
public Response hello()  {
    service = new TestService();
//      String o = service.helloWorld();

    Boolean a = true;
    if (a)
        throw new ExampleException();
    return Response.ok().build();
    }
}

我的应用配置类

@ApplicationPath("/rest")
public class TestApp extends Application {
public Set<Class<?>> getClasses() {
    Set<Class<?>> s = new HashSet<Class<?>>();
    s.add(Test.class);

    /** you need to add ExceptionMapper class as well **/
    s.add(ExampleExceptionMaper.class);
    return s;
    }
}

异常

public class ExampleException extends RuntimeException implements      Serializable {

/**
 * 
 */
private static final long serialVersionUID = 6844337827096329241L;

public ExampleException() {
    super("Test");
}

}

异常映射器

@Provider
public class ExampleExceptionMaper implements ExceptionMapper<ExampleException> {

@Override
public Response toResponse(ExampleException arg0) {
    return Response.status(404).build();
}

}

在我的示例中,异常映射器不起作用。我尝试通过java(在应用程序配置中将异常映射器类添加到hashmap)或web.xml(包括在context-param中)来配置它。我的wildfly代码结束于Java 8类:ThreadPoolExecutor.class。我认为wildfly在我的资源url上的示例请求中结束了所有任务。 我在抛出异常之前的代码工作正常,但是在它没有在我的测试请求上返回任何响应之后。

有人帮忙吗?

0 个答案:

没有答案