1

以下のコードに示すようにスレッドの uncaughtExceptionHandler を設定しましたが、実行中のスレッドで HibernateException が発生すると機能しません。私のjvmは1.6.0_26です。どんな手掛かり?

this.executor = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() 
{
  public Thread newThread(Runnable r)   
  {
    Thread result = Executors.defaultThreadFactory().newThread(r);
    result.setUncaughtExceptionHandler(new UncaughtExceptionHandler() 
    {
       public void uncaughtException(Thread t, Throwable e) {
      logger.error("error occurs while supervior is running", e);
    }
    })
    return result;
  }
});
4

1 に答える 1

0

あなたが実際にスレッドを開始した場所がわかりません。このコード ブロックが機能するためにスレッドを実行する必要はありませんか? そのような:

// execute Threads run method
result.start();
于 2013-04-01T15:58:16.170 に答える