ExecutorService を作成して、それぞれがソケット接続を処理している個別のスレッドをすべて管理しました。ソケットが現在割り込み不可能なメソッド (socketserver.accept() など) にある場合に備えて、スレッドが中断されたときにソケットを閉じるように、これらの各スレッドの割り込みメソッドをオーバーライドしました。
アプリケーションの終了時に手動でスレッドの割り込みを呼び出すと、すべてが適切にシャットダウンされます。ただし、ExecutorService を使用して shutdownNow を実行すると、オーバーライドされた割り込みメソッドをまったく呼び出していないようです。
オーバーライドされたメソッドを呼び出さないのはなぜですか?