私は、レスポンスの送信後にバックグラウンドで実行できる長いタスクを起動するJavaサーブレットを持っています。私は、スレッドを起動することが最後のものであるにもかかわらず、ログエントリから通知することができます私はサーブレットでは、フレームワークは新しいスレッドが開始した後も要求関連コードを実行しています。現在のスレッドが終了した後にスレッドを起動する
現在のスレッドを新しいスレッドのコンストラクタ(parentThread)に渡し、その参照を保存し、run()の最初の文としてparentThread.join()を呼び出すことを検討しています。しかし、それはかなりkludgyようです。
もっと優雅なソリューションはありますか?
私は、実際に子スレッドを親スレッドに参加させようとしましたが、結合の直後に設定されたデバッグブレークポイントには到達しませんでした。したがって、Tomcatのスレッド管理は、このスキームが動作しないようにしているようです。 –