2016-08-01 16 views
0

こんにちは、 fixedThreadPoolでスレッドを開始しました。Jettyシャットダウン中にスレッドを停止するメソッドを実行します。

Jettyのシャットダウン中に、これらのスレッドが停止しているメソッドを呼び出す必要があります。

どうすればいいですか?

+0

私はJettyをシャットダウンしてこのメ​​ソッドを呼び出したいと思います。しかし、私はどのようにシャットダウンフックを取得するか分からないのですか? – yash

+0

埋め込み式桟橋を使用していますか? – Sirsendu

+0

なぜスレッドを停止したいのですか?彼らが桟橋の下で走っているならば、桟橋が一度シャットダウンすると、走っている全ての糸が殺されます。 – Sirsendu

答えて

0

fixedThreadPool()によって生成されたスレッドによって実行されているバックグラウンドタスクが突然終了しないようにするには、shutdown()メソッドを呼び出してスレッドを停止します。

クリーンターミネーションを気にする場合は、代わりにawaitTermination()メソッドを使用してください。

+0

はい、私はこれを認識しています。しかしどこにいつ呼び出すべきかは私の問題です。アプリケーションが正常に機能しなくなったときにのみ呼び出す必要があります。私たちは埋葬桟橋を使用しています。 – yash

+0

プログラムによるシャットダウン、またはコンソールからCtrl + Cを受信したとき? – Saheed

+0

おそらく、この[記事](http://www.petervannes.nl/files/084d1067451c4f9a56f9b865984f803d-52.php)は、達成しようとしているものに近いですか? – Saheed

1

Webアプリケーションのコンテキストで作業している場合、ServletContextListenerでそのような種類のものを開始および停止できます。それ以外の環境で操作している場合は、Lifecycleオブジェクトを作成して登録してサーバーインスタンスに追加すると、オブジェクトに対してdoStop()メソッドが呼び出され、正常に終了させることができます。

http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/util/component/AbstractLifeCycle.html

関連する問題