を長時間実行中のJavaスレッドを中断しますが、私の状況です:どのように私はThreadPoolExecutor。ここ
私は、そのThread
の私がSSLを介してサーバへのHTTP呼び出しを行う上でThreadPoolExecutor
を持っています。場合によっては、NullPointerException
を取得することがあります。なぜなら、クライアントはサーバーの応答を復号できず、スレッドはプール内のライブロックを無期限に停止させるだけです。誰かがプール内の特定のスレッドを対象にして、実行中の時間を確認し、3分間以上実行している場合は中断/中断するための良い方法を知っていますか?
私の提案は、NullPointerExceptionを修正することです。このような例外は、バグの明確な兆候です。それは起こるべきではありません。そして、それが起こっても、それはちょうどタスクを中止する必要があります。詳細については、いつものように、例外のコードとスタックトレースを投稿してください。 –
例外はこのライブラリから来ていますhttps://java.net/projects/http-clientはい私はそれがバグかもしれないことは知っていますが、とにかく私のプロジェクトをJava 9に移行させてしまい、HTTPクライアントを持っていますおそらく同じです)焼き付けられました。私はバグを報告することに取り組みたいと思います。今私は物事をピンチで終わらせなければならない。そのうえで、私はとにかくスレッドを制御したいと思っています。 – impeto
何か不足しているかもしれませんが、そのライブラリからNPEを取得した場合、コントロールはコードに戻っています。なぜなら、クリーンアップ(もしあれば)を実行して実行ブロックを終了できないのですか? – zeppelin