При запуске простого интерфейса REST с Eclipse с использованием зависимой версии Maven Maven, я не получаю никаких исключений, отображаемых после запуска ошибок в браузере. Другой выход журнала отображается в консоли просто отлично, но Исключения просто проглатываются.Отображение исключений Grizzly в консоли Eclipse
Я создал обработчик исключений, который не является ни инстанциированы под названием:
package mypackage.rest;
@Provider
class ExceptionHandler implements ExceptionMapper<Throwable>
{
@Override public Response toResponse(Throwable t)
{
System.out.println("toResponse called");
t.printStackTrace();
return Response.status(Status.BAD_REQUEST).entity(t.getMessage()).build();
}
}
Конструкция Grizzly Сервер:
package mypackage.rest;
public class GrizzlyHttpUtil
{
public static final URI baseURI = UriBuilder.fromUri("http://localhost/").port(10010).build();
public static HttpServer startThisServer()
{
ResourceConfig resCon = new ResourceConfig().packages("mypackage.rest");
return server = GrizzlyHttpServerFactory.createHttpServer(baseURI, resCon);
}
}
The Rest API класс
package mypackage.rest;
@Path("")
public class Rest
{
@GET @Path("datasets") @Produces(MediaType.TEXT_HTML)
public static String datasets()
{
throw new RuntimeException();
}
}
Update Я добрался до работа с resCon.register(ExceptionHandler.class);
. Почему это необходимо? Почему ResourceConfig(). Packages (...) не обрабатывает это самостоятельно?