Java RESTful Web服务能否从子线程返回POST响应?
目前,这是我对传入POST请求的实现。处理由子线程处理,但响应必须返回到顶层才能发送响应Java RESTful Web服务能否从子线程返回POST响应?,java,multithreading,rest,httpresponse,Java,Multithreading,Rest,Httpresponse,目前,这是我对传入POST请求的实现。处理由子线程处理,但响应必须返回到顶层才能发送响应 @Post("json") public String POSTMessage(String myJsonString) throws Exception { JSONObject msg = (JSONObject) new JSONParser().parse(myJsonString); ClassA Client = new ClassA(); Server.client_l
@Post("json")
public String POSTMessage(String myJsonString) throws Exception {
JSONObject msg = (JSONObject) new JSONParser().parse(myJsonString);
ClassA Client = new ClassA();
Server.client_list.add(Client);
return Client.processMSG(msg);
}
ClassA处理构建JSON响应并将其返回到顶层。子线程有没有办法在Restful体系结构中发回响应?换句话说,POSTmessage函数是否需要返回该值,或者当POSTmessage返回到监听端口时,子线程是否有某种方式可以响应。您可以使用,例如:
您可以使用,例如:
@Post("json")
public void POSTMessage(String myJsonString, @Suspended final AsyncResponse asyncResponse) throws Exception {
new Thread(new Runnable() {
@Override
public void run() {
JSONObject msg = (JSONObject) new JSONParser().parse(myJsonString);
ClassA client = new ClassA();
asyncResponse.resume(client.processMSG(msg));
}
}).start();
}