使用 vertx.io 3.0.0 时,当抛出异常并且未在 JAVA API 中捕获时,垂直冻结。我们在单服务器环境下工作,服务器不在集群中。
有什么想法吗?
您应该使用以下方法捕获当前线程的未处理异常:
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