我有一个Web服务方法,它应该处理一个非常大的文件并将几个文件输出到服务器。但是,这个Web服务只会超时,调用者将无法获得CREATED状态。我只是想知道是否有办法运行处理作业(启动新线程或其他东西)并返回状态而不等待进程完成。
public Response processFile(InputStream inputStream){
//I want to process the file here
//but I dont want the invoker to wait for that process to finish
//I just want the response to be returned right away
return Response.status(Response.Status.CREATED).build();
}
答案 0 :(得分:0)
该文件来自输入流,对吗?因此,如果您将发回CREATED状态(有效关闭连接),您可能会在收到整个输入文件之前切断连接?
这就是我的想法...在这种情况下,你只想将超时设置为更长的值。
如果情况并非如此,那么我想可以开始一个新线程,及时处理所有内容并发回CREATED状态。