在用vertx实现的应用程序中遇到了一个特殊的问题。我有一个连接池,有20个连接。
一旦在任何请求中遇到NullPointerException,mysql连接就会停止响应。
在下面的日志中发现,但是不明白为什么这会使mysql连接没有响应性。
Exception in thread "vert.x-eventloop-thread-2" io.reactivex.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | java.lang.NullPointerException此外,此异常出现的次数与连接池中的连接数一样多,之后整个应用程序就会变得不响应。
发布于 2021-12-16 14:34:08
来自文档
“当调用只有onNext参数的订阅方法时,OnError行为将重新抛出消息来自可观察序列的线程上的异常。在这种情况下,OnCompleted行为是什么都不做。”
看起来您需要处理异常,让程序知道当异常(在本例中是NPE)发生时该做什么。因此,将onError()实现添加到.subscribe() (或流)将是很棒的。
另一个堆栈溢出应答可能会有所帮助。
https://stackoverflow.com/questions/70354153
复制相似问题