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 回答