服务器生成后,新线程响应客户端

时间:2014-06-26 11:59:16

标签: java multithreading rest

我正在开发一个多线程的Web应用程序。概念是客户端向服务器发送请求。服务器创建一个新线程来执行一个过程(按城镇名称删除一个foder)。 对于客户端请求和服务器响应,我使用的是RESTful Web服务。

以下是服务器的代码:

    @GET
    @Path("/Data_Availability/{Town}

    public Response Data_availability( 
                @PathParam("Town") String Town) throws Exception{

        Delete_Dir Procedure = new Delete_Dir();
        Thread thread = new Thread(Procedure);
        thread.Start();

return Response.ok("Done").build();  // Normally here is the response. But since I create
                                     // a new thread this will be always "Done"
    }

这里是程序的代码:

public class Delete_Dir implements Runnable{

    String Town;
    public void run() {

        try {
            execute();

        } catch (Exception e) {

            e.printStackTrace();
        }
    }

    public Delete_Dir( String Town_ ){
        Town = Town_;
    }

    public void execute(){

        try{
            File file = new File("c://" + Town);
            FileUtils.deleteDirectory(file);

        }catch (Exception e){
            e.printStackTrace(System.out);
        }
    }
}

如何通过Delete_Dir类响应客户端?由于我创建了一个新线程,如果我将响应放在我放置它的位置,它将始终是"完成"。

0 个答案:

没有答案