1
我有很多來自客戶端和一個POST請求的異步GET調用。 我的servlet獲得POST請求後,我想以其他方式處理即將發生的GET調用。這裏是我的嘗試,但未能:Java同步來自JavaScript的異步調用
public class MyServlet {
private static volatile proceed = true;
public void doGet(req, resp) {
...
doGetAnswer(req, resp);
...
}
public void doPost(req, resp) {
...
doPostAnswer(req, resp);
...
}
public String doGetAnswer(req, resp) {
if (proceed)
return "Answer GET request";
else
return "Do NOT answer GET request";
}
public String doPostAnswer(req, resp) {
proceed = false;
return "POST called, stopping GET requests";
}
}
我的問題是由一個GET調用運行線程不承認volatile變量的變化。
更換
proceed = false;
謝謝你,它的工作原理,通過你的回答我剛纔的時間在某處閱讀解決方案。 「非常不尋常的設計」是什麼意思? –