2017-05-03 13 views
0

/healthを含むさまざまなエンドポイントを実装するWebサービスがあります。 /healthは、サーバが正常に動作していれば200 OKを返し、バックエンドのMongoDBに接続できます。 200 OK以外のものがあれば、定期的に(12分ごとに)/healthエンドポイントをポーリングするウォッチドッグスレッドがあり、System.exit(-1)がコールされますが、プロセスは強制終了されません。スレッドの中にはまだ実行中のものがあります。 この問題を解決するにはどうすればよいですか?スレッドの1つからのSystem.exit(-1)がjavaプロセスを終了しない

+0

通常、人はSystem.exit(0)ではなく-1を使用します。私はこれまで見たことがないので、私はコメントしたいと思った。 – CodingNinja

+0

[Javaプログラムの終了](http://stackoverflow.com/questions/22452930/terminating-a-java-program)の可能な複製 – CodingNinja

+0

ウォッチドッグ出口を呼んでいますか?ウォッチドッグプロセスを終了したいですか? –

答えて

0

私は、プロセスを強制終了するとすべてのスレッドも終了するという保証はないと思います。さらにSystem.exitを使用すると間違った方法です。 Thread.interruptを使用してそれを処理する方法としては、ExecutorServiceを使用してスレッドを管理する方法があります。

関連する問題