[英]Can a RESTful Web Service return a POST Response from Child Thread?
目前這是我對傳入的POST請求的實現。 處理由子線程處理,但必須將響應返回到頂層以發送響應。
@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 Processing構建JSON響應並將其返回到頂級。 Child Thread有沒有辦法在Restful架構中發回響應? 換句話說,POSTmessage函數是否需要返回值,或者Child Thread是否可以通過某種方式響應,因為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();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.