0
我有一种情况,我需要为接收到的每个请求返回“接受”响应,并稍后将实际响应发布到服务之外的单独端点。如何在泽西岛的过滤器发送响应后继续进行请求处理?
为了实现“接受”的响应,我实现了一个过滤器。
public class AcknowledgementFilter implements ContainerRequestFilter{
@Override
public void filter(ContainerRequestContext containerRequestContext) throws IOException {
containerRequestContext.abortWith(Response.accepted().build());
// call Resource method in new Thread() . <------ ?
}
}
服务端点的执行情况:
@Path("/vendor")
public class VendorHandler {
@POST
public void addVendor(VendorRequest addVendorRequest)){
vendor = new Vendor();
Client.publish(vendor); // publish request to an endpoint
return null;
}
如何调用VendorHandler的addVendor(或任何方法取决于请求)从确认过滤器?
是否有任何其他方式来为每个请求实现接受的响应,然后分别处理请求?
我不认为资源方法会被调用,因为响应已经发送到过滤器中的客户端。 –
我认为'AsyncResponse'的意思是删除过滤器的需要,恕我直言,从来没有打算处理这种情况下:) –