0
JavaのdoPostメソッドが終了する前にHTTPステータスコードを取得したいと考えています。たとえば、Pythonではself.send_response(200)
がありますが、これは非同期でステータスを送信しますか?HTTPステータスコードを非同期で取得する
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*
*/
@SuppressWarnings("unchecked")
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Final result object
//I want to send a http status code 200 before the task running
myThreadPool = Executors.newFixedThreadPool(2);
Future taskOne = myThreadPool.submit(new Runnable() {
@Override
public void run() {
try {
try {
// My first task
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
// Task two
.
.
でした:https://blogs.oracle.com/enterprisetechtips/entry/asynchronous_support_in_servlet_3は
私が前提とするもの、提供しているように見えるとしても良い例がありますが、あなたが達成したいと思います:ここでは例で説明したようにそれは、非同期サーブレットを参照してください
これまでのところあなたのコードを表示し、使用しているフレームワークを教えてください。 – Erikあなたの質問は本当に不明です。 intを非同期に取得したいですか? http://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletResponse.html#getStatus-- – Taylor
こんにちは@Taylor、私のAPIが非同期で動作するようにしたいので、まず、私は私の要求を送ると、サーバーはhttpコード200で応答し、バックグラウンドで私のdoPostの実行を継続し、すべてのタスクが終了した後、応答を送信します。 – user3773203