gpt4 book ai didi

java - 在 vertx 中启动或一段时间后出现 JDBCClient 错误

转载 作者:行者123 更新时间:2023-12-02 03:21:44 25 4
gpt4 key购买 nike

the error in question

请原谅终端的图片 - 我的项目设置非常糟糕,所以我无法将实际日志粘贴到此处。

有时,当我启动 vertx 网络服务器并登录时,它运行得非常好,没有任何问题。一段时间后,任何数据库请求(例如再次登录)都会返回此错误。有时这只是在启动时发生。

JDBCClient 在服务器负载上初始化,我觉得该错误可能与它所连接的 AWS 服务器给它一个超时信号有关。有什么方法可以在发出请求之前检查这一点并重新初始化 JDBCClient 吗?还是还有其他我不知道的问题?

最佳答案

有两个原因导致RejectedExecutionException

  1. 导致 RejectedExecutionException 的原因之一是当我们尝试关闭执行器后执行新任务。
  2. 另一种RejectedExecutionException情况出现在Executor不能再承担其职责范围内的任何任务。有时候是这样的当达到其本地“内存”的限制时。

在您的情况下,此异常导致 JDBCClientImpl.java 的第 108 行,即 exec.execute()。这里 execExecutorService 的对象,它导致 RejectedExecutionException 因为任务无法提交执行,要么是因为该执行器已关闭,要么是因为它的已达到容量。

  1. 检查 ResultSetStatementConnection 是否正在关闭无论是否。
  2. 检查您是否多次初始化 JDBCClientImpl也可能导致此异常。
  3. ThreadPoolExecutor 有一个 finalize()关闭方法执行人。鉴于我们没有保留对下属的引用执行者,最终确定的可能性似乎很大导致关闭。

您可以查看此网址 RejectedExecutionException还有这个JDBCCLientImpl.java您可以在其中找到 getConnection() 方法源代码。

关于java - 在 vertx 中启动或一段时间后出现 JDBCClient 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39509414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com