由于某些原因,我的POST端点在预期时未返回接受状态。 端点会按预期触发服务,但最终不会发送任何响应,但最终会超时。
private static ExecutorService executorService = Executors.newFixedThreadPool( Integer.valueOf( numberOfThreads ) );
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("/xxxxx")
public Response longProcess(final String req,
final @Context SecurityContext securityContext) {
executorService.execute(new Runnable() {
@Override
public void run() {
try {
thymeNewDateRange.getDataForDateRange(thymeDate, null);
} catch (Exception e) {
logger.error(e);
}
}
});
return Response.accepted("ASD").build();
}
calculateData是一种可能需要花费半分钟到多个小时的时间的方法。 因此,能够发送回“已接受”的响应将非常有帮助。
我将以不同的方式处理.location,但是现在我需要了解为什么请求不返回任何内容给客户端?