使用Web服务处理大型文件

时间:2011-05-26 21:16:36

标签: java jaxb jax-rs

我有一个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();
}

1 个答案:

答案 0 :(得分:0)

该文件来自输入流,对吗?因此,如果您将发回CREATED状态(有效关闭连接),您可能会在收到整个输入文件之前切断连接?

这就是我的想法...在这种情况下,你只想将超时设置为更长的值。

如果情况并非如此,那么我想可以开始一个新线程,及时处理所有内容并发回CREATED状态。