ファイルの読み取り、データベースへの接続などのローカルタスクをスケジュールするエグゼキューターサービスがいくつかあります。これらのプロセスは大量のログを作成します。これは、同時に実行されている多くのスレッドがあり、独自のものをログに書き込むという事実に基づいています。 .
ここで、ある時点で例外を発生させることができます。これは、すべての例外がキャッチされる main メソッドに到達します。次に、すべてのサービスをシャットダウンし、各タスクをキャンセルして、それ以降のすべてのメッセージがログに記録されないようにします。残念ながら、すべてをシャットダウンした後もメッセージが表示されます... 何かアイデアはありますか?
更新:ここにいくつかのコードがあります
public class Scheduler{
private final ExecutorService service;
private final ConcurrentMap<Object, Future<V>> cache;
...
public void shutDown() {
service.shutdownNow();
for (Future task : cache.values())
task.cancel(true);
}