プールスレッドにUncaughtExceptionHandlerを仕込む方法

ThreadFactory threadFactory = new ThreadFactory() {
  @Override
  public Thread newThread(Runnable r) {
    final Thread thread = new Thread(r);
    // exceptionHandlerはUncaughtExceptionHandlerを実装したオブジェクト
    thread.setUncaughtExceptionHandler(exceptionHandler);
    return thread;
  }
};

で作成した、ThreadFactoryをThreadPoolExecutorのコンストラクタに渡してやれば、
スレッドプール内で例外が発生した際に、exceptionHandlerで実装した例外処理を実行することが可能。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です