0

我有网络资源

@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(包括它在上下文参数中)来配置它。我的 wildfly 代码在 Java 8 类结束工作:ThreadPoolExecutor.class。我认为wildfly在我对资源url的示例请求中结束了它的所有任务。我在抛出异常之前编码工作正常,但在它没有对我的测试请求返回任何响应之后。

有人帮忙吗?

4

0 回答 0