【发布时间】:2016-01-06 19:20:44
【问题描述】:
在使用 vertx.io 3.0.0 时,当抛出异常并且未在 JAVA API 中捕获时,垂直冻结。我们在单服务器环境下工作,服务器不在集群中。
有什么想法吗?
【问题讨论】:
在使用 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
【讨论】: