私は単純なJava Webサービスを持っています。私は、Webメソッドを呼び出すたびに独自のスレッドを取得して処理する、スレッド化されたWebサービスを作成したいと考えています。処理に時間がかかり、Webメソッドへの他の呼び出しが起こらないようにブロックしたくありません。代わりに、私はWebメソッドがスレッドを作成するだけで、Thread自体が完了した処理の後にクライアントに値を返す/返すようにします。それは可能ですか?Webサービスで複数のスレッドを使用する方法
編集:ここでは
は、私が今持っているものの半擬似コードです:私は何をしたいか
@WebService(endpointInterface="Service")
public class ServiceImpl {
public ServiceImpl()
{
// Initialization
}
public String GetResult(input)
{
// Does long processing
return Result;
}
}
は、(代わりのgetResultである)長い処理を行って、私はそれが唯一のspawnたいです長い処理を行い、GetResult()を返して別の要求を処理する準備ができているRunnable私はまた、Runnableが待機中のクライアントに応答するようにします。
EDIT 2:
私はちょうど私が愚かな質問を求めていることに気づきました。私はWSを実装するのにかなり新しいです。私は、WSが一度に1つの要求を逐一取ったと思っていました。私は各リクエストが既に自動的にスレッド化されているのか分からなかった。
可能です。あなたは何を試しましたか?何の検索をしましたか?どのようなコードを見ましたか?質問を編集して詳細を入力してください。 – Gray
どのような種類のクライアントがありますか?サーバ側?コマンドライン/バッチ? GUI?スイング? JavaFX? – Puce
WSが非同期であることを本当に求めているようです。それも可能です。 – vkraemer