1

使用 vertx.io 3.0.0 时,当抛出异常并且未在 JAVA API 中捕获时,垂直冻结。我们在单服务器环境下工作,服务器不在集群中。

有什么想法吗?

4

1 回答 1

2

您应该使用以下方法捕获当前线程的未处理异常:

Thread.currentThread().setUncaughtExceptionHandler(
     new Thread.UncaughtExceptionHandler() {
  public void uncaughtException(Thread t, Throwable e) {
     LOGGER.error(t + " throws exception: " + e);
  }
});

如果您使用多个垂直,我建议您UncaughtExceptionhandler为每个垂直添加,因为每个垂直将有自己的事件循环,因此,它自己的线程。

对于 java 已经回答了一个类似的问题:Java uncaught global exception handler

于 2016-01-07T05:47:02.107 回答