Vertx mysql 连接停止响应 NullPointerException
Posted
技术标签:
【中文标题】Vertx mysql 连接停止响应 NullPointerException【英文标题】:Vertx mysql connection stops responding on NullPointerException 【发布时间】:2022-01-18 01:49:48 【问题描述】:在 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
此外,此异常出现的次数与连接池中的连接数完全相同,之后整个应用程序变得无响应。
【问题讨论】:
【参考方案1】:来自documentation
"调用只有onNext参数的Subscribe方法时, OnError 行为将在线程上重新抛出异常 消息来自可观察序列。这 在这种情况下,OnCompleted 行为是什么都不做。”
看起来您需要处理异常,让程序知道在发生异常(在本例中为 NPE)时该做什么。因此,将onError()
实现添加到您的.subscribe()
(或流)中会很棒。
另一个stack overflow answer 可能会有所帮助。
【讨论】:
以上是关于Vertx mysql 连接停止响应 NullPointerException的主要内容,如果未能解决你的问题,请参考以下文章