如何缓解连接 com.mysql.jdbc.JDBC4Connection@11d08960 触发的连接泄漏,

2024-04-07

我有一个 mqtt 客户端从主题获取订阅请求, 然后我把它交给固定大小 50 的线程池。 我使用 hikaricp 2.4.2 作为 DB Pooling MySQL 数据库。

我目前使用 2.4.2,这是我的设置

    HikariConfig config = new HikariConfig();
    config.setDataSourceClassName(CLASS_FOR_NAME);
    config.setJdbcUrl(HOST);
    config.setUsername(USER);
    config.setPassword(PASS);
    config.addDataSourceProperty("cachePrepStmts", "true");
    config.addDataSourceProperty("prepStmtCacheSize", "250");
    config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
    config.setLeakDetectionThreshold(TimeUnit.SECONDS.toMillis(30));
    config.setValidationTimeout(TimeUnit.MINUTES.toMillis(1));
    config.setMaximumPoolSize(10);
    config.setMinimumIdle(0);
    config.setMaxLifetime(TimeUnit.MINUTES.toMillis(2)); // 120 seconds 
    config.setIdleTimeout(TimeUnit.MINUTES.toMillis(1)); // minutes
    config.setConnectionTimeout(TimeUnit.MINUTES.toMillis(5)); 
    config.setConnectionTestQuery("/* ping */ SELECT 1");

这是完整的日志消息:

WARNLOG:

811439 [Hikari 管家 (池 HikariPool-0)] 警告 com.zaxxer.hikari.pool.ProxyLeakTask - 连接泄漏检测 触发连接 com.mysql.jdbc.JDBC4Connection@11d0896,堆栈 跟踪遵循 java.lang.Exception:检测到明显的连接泄漏 在 com.hcpdatabase.DataSource.getConnection(DataSource.java:69) 在com.database.AccessDatabase.create_alert(AccessDatabase.java:3849) 在 com.runnable.StartTaskRunnable2.execute(StartTaskRunnable2.java:78)

这是正常的吗?我必须抓住这个吗?


因为我一遍又一遍地检查我的代码。我意识到我是对着错误的树吠叫,看来 hikari 在连接泄漏方面非常可靠。问题是当亚马逊 aws ec2 实例窃取我的一些 cpu 并且比我想象的还要大。因此,在 cpu 上升 99% 后,即使我的代码明确在 finally 块中关闭了连接泄漏,也会检测到连接泄漏。所以问题出在机器上。

我感谢所有参与回答的人。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何缓解连接 com.mysql.jdbc.JDBC4Connection@11d08960 触发的连接泄漏, 的相关文章

  • Java:使用 HttpURLConnection 的 HTTP PUT

    如何执行 HTTP PUT 我正在使用的类似乎认为它正在执行 PUT 但端点将其视为我执行了 GET 我做错了什么吗 URL url new URL https HttpURLConnection conn HttpURLConnectio
  • eclipse中导入项目文件夹图标

    我在 Eclipse 工作区中新导入的 Maven 项目有J and M项目文件夹顶部的图标 项目和包资源管理器 而其他导入的 Maven 项目只有一个J icon 有人可以解释其中的区别吗 该项目有J装饰器被称为 Java 项目和具有M装
  • 在文本文件中搜索单词并返回其频率

    如何在包含单词文本的文本文件中搜索特定单词并返回其频率或出现次数 使用扫描仪 String text Question how to search for a particular word in a text file containin
  • 如何在 JSP 中导入类?

    我是一个完全的JSP初学者 我正在尝试使用java util List在 JSP 页面中 我需要做什么才能使用除以下类之外的类java lang 使用以下导入语句进行导入java util List 顺便说一句 要导入多个类 请使用以下格式
  • Condition 接口中的 signalAll 与对象中的 notificationAll

    1 昨天我才问过这个问题条件与等待通知机制 https stackoverflow com questions 10395571 condition vs wait notify mechanism 2 我想编辑相同的内容并在我的问题中添加
  • 如果使用的 JVM 是 x86 或 x64,则以不同的方式解决 Maven 依赖关系?

    我设置了一个 Maven 存储库来托管一些 dll 但我需要我的 Maven 项目根据使用的 JVM 是 x86 还是 x64 下载不同的 dll 例如 在运行 x86 版本 JVM 的计算机上 我需要从存储库下载 ABC dll 作为依赖
  • 重写 URL,将 ID 替换为查询字符串中的标题

    我对 mod rewrite 很陌生 但我做了一些搜索 但找不到这个问题的答案 我有一个网站 它只有一个 PHP 页面 根据查询字符串中传递给它的 ID 提供数十页内容 我想重写 URL 以便此 ID消失并替换为从数据库中提取的页面标题 例
  • 如何将 android.net.Uri 转换为 java.net.URL? [复制]

    这个问题在这里已经有答案了 有没有办法从Uri to URL 我正在使用的库需要这个 它only接受一个URL但我需要在我的设备上使用图像 如果该方案的Uri is http or https new URL uri toString 应该
  • Git 无法识别重命名和修改的包文件

    我有一个名为的java文件package old myfile java 我已经通过 git 提交了这个文件 然后我将我的包重命名为new所以我的文件在package new myfile java 我现在想将此文件重命名 和内容更改 提交
  • Java 收集返回顶级项目的映射的嵌套流

    我有以下模型 class Item String name List
  • 使用函数的 SQL 查询 - 如何获取列表的最大计数

    如何查询 MAXIMUM COUNT 交易次数 我的代码如下 SELECT customer id COUNT customer id FROM rental GROUP BY customer id HAVING MAX COUNT cu
  • 尝试使用等于“是”或“否”的字符串变量重新启动 do-while 循环

    计算行程距离的非常简单的程序 一周前刚刚开始 我有这个循环用于解决真或假问题 但我希望它适用于简单的 是 或 否 我为此分配的字符串是答案 public class Main public static void main String a
  • 为什么java中的for-each循环中需要声明变量

    for 每个循环的通常形式是这样的 for Foo bar bars bar doThings 但如果我想保留 bar 直到循环结束 我可以not使用 foreach 循环 Foo bar null Syntax error on toke
  • 如何在 Quartz 调度程序中每 25 秒运行一次?

    我正在使用 Java 的 Quartz Scheduling API 你能帮我使用 cron 表达式每 25 秒运行一次吗 这只是一个延迟 它不必总是从第 0 秒开始 例如 序列如下 0 00 0 25 0 50 1 15 1 40 2 0
  • 选择获取与 MySQL Group 中 max 对应的整行

    当我使用Max使用后查找特定 MySQL 组中字段的最大值GROUP BY 是否可以获取包含最大值的整行 我在处理一些论坛代码时偶然发现了这个线程 我想获取每个线程的最新帖子并将其显示在特定板的线程列表中 Quassnoi上面的回答对我非常
  • 挂钩 Eclipse 构建过程吗?

    我希望在 Eclipse 中按下构建按钮时能够运行一个简单的 Java 程序 目前 当我单击 构建 时 它会运行一些 JRebel 日志记录代码 我有一个程序可以解析 JRebel 日志文件并将统计信息存储在数据库中 是否可以编写一个插件或
  • Java:多线程内的 XA 事务传播

    我如何使用事务管理器 例如Bitronix http docs codehaus org display BTM Home JBoss TS http www jboss org jbosstm or Atomikos http www a
  • Hibernate 和可序列化实体

    有谁知道是否有一个框架能够从实体类中剥离 Hibernate 集合以使它们可序列化 我查看了 BeanLib 但它似乎只进行实体的深层复制 而不允许我为实体类中的集合类型指定实现映射 BeanLib 目前不适用于 Hibernate 3 5
  • Android AutoCompleteTextView 带芯片

    我不确定我是否使用了正确的词语来描述此 UI 功能 但我已附上我希望在我的应用程序中实现的目标的快照 它由 Go SMS 使用 用户在编辑文本中键入联系人 在用户从完成下拉列表中选择联系人后 该联系人将被插入到编辑文本中 如附图所示 编辑文
  • JAXB - 列表<可序列化>?

    我使用 xjc 制作了一些课程 public class MyType XmlElementRefs XmlElementRef name MyInnerType type JAXBElement class required false

随机推荐

  • Internet Explorer 11 自动换行不起作用

    似乎自动换行不再适用于 IE 11 中的 textarea 元素 在 IE 10 及更早版本中 FF Safari 和 Chrome 自动换行按预期工作 IE 11 没有实现任何自动换行 我尝试将 wrap hard 添加到textarea
  • 如何检查节点到其后代叶子的所有路径的黑色高度?

    Given a 红黑树 我需要写一个高效算法检查对于每个节点 从该节点到后代叶子的所有路径是否包含相同数量的黑色节点 即如果属性为 true 或 false 则算法应返回布尔值 它将返回 RB 树的黑色高度 如果高度为0 则该树是无效的红黑
  • UIButton 的自定义字体标题

    有没有办法为按钮标题添加自定义字体 The UIButton类暴露了一个标题标签 http developer apple com library ios documentation UIKit Reference UIButton Cla
  • 计算余弦相似度 Spark Dataframe

    我正在使用 Spark Scala 来计算 Dataframe 行之间的余弦相似度 数据帧格式如下 root SKU double nullable true Features vector nullable true 下面的数据框示例 S
  • 将字符串分配给字符数组

    我对下面的事情感到有点惊讶 示例1 char s 100 abcd declare and initialize WORKS 示例2 char s 100 declare s hello initalize DOESN T WORK lva
  • Apple 应用内购买 StoreKit 错误

    我正在为书架实现应用程序购买功能 但在购买书籍期间随机出现错误消息 错误信息是 付款请求仅限于通过 Store Kit 的 didReceiveResponse 方法返回的有效产品 我在苹果找到了这个文档http developer app
  • 如何在 tsconfig 中使用单个模块的路径?

    这个问题是后续问题如何使用 tsconfig json 中的路径 https stackoverflow com q 43281741 49942但我想为单个模块执行此操作 我有一个模块 它的实施于src functions foo ts
  • 获取字符串及其子字符串的所有组合[重复]

    这个问题在这里已经有答案了 我见过很多关于获取所有可能的子字符串 即相邻的字符集 的问题 但没有看到关于生成所有可能的字符串 包括其子字符串的组合 的问题 例如 让 x abc 我希望输出是这样的 abc ab ac bc a b c 要点
  • 如何使用唯一值更新表中的列,但不是所有行,不递增[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以使用单个 UPDATE SQL 语句执行多个更新 https stackoverflow com questions 412101 is it possible to perform mult
  • 对其中包含数字的 std::string 进行排序?

    我目前正在按 std string 30 Thanks 您可以创建自定义比较函数来使用std sort 该函数必须检查字符串是否以数值开头 如果是 则将每个字符串的数字部分转换为int使用某种机制 如字符串流 然后比较两个整数值 如果值比较
  • 在 Objective-C 中将 NSString 拆分为数组

    我怎样才能分割字符串 Hello 至 一个 C 数组 H e l l o or Objective C 数组 H e l l o 如果您对 C 数组感到满意chars try const char array Hello UTF8Strin
  • 这是什么样的算法?盒装/背包?

    昨晚我正在开发一个应用程序 遇到了一个特定的问题 我确信可能有一个有效的算法来解决它 有人可以建议吗 Problem TL DR 也许一张图片会有所帮助 http www custom foam inserts com http www c
  • 当池中仍有线程运行时,为什么 executor.isShutdown() 返回 true?

    shutdown 的 Java 文档说 shutdown 无效关闭 启动有序关闭 其中执行先前提交的任务 但不会接受新任务 如果已经关闭 则调用不会产生任何附加效果 该方法不等待之前提交的任务完成执行 使用awaitTermination
  • MySQL 在全表字段中添加前缀

    基本上我只是决定将我的主 ID 切换到 源 字段 因为我将从多个源导入内容 现在我想弄清楚事物从何而来 因此我想为其添加一个前缀 例如portalname formerID 我试过了 UPDATE pics SET source nk so
  • neo4j:单向/双向关系?

    所以我研究了 neo4j 我可能会在即将到来的项目中使用它 因为它的数据模型可能非常适合我的项目 我查看了文档 但我仍然需要这个问题的答案 我可以将关系设置为单向吗 看来 Neo4j 的人很喜欢电影 所以我们继续吧 如果我有这样的图表 Ac
  • window.location 和 $location.path 有什么区别?

    在 MVC angularJS 应用程序中 如何重定向到 MVC 页面 我尝试了以下两个选项 First It doesn t work location path MyPage1 Second It works window locati
  • Visual Studio 服务器资源管理器是否支持自定义数据库提供程序?

    我在一些学习项目中使用了 Server Explorer 和相关工具 通过 Microsoft SQL Server 进行图形数据库开发 这是一次很棒的体验 然而 在我的工作中 我处理 Oracle DB 和 SQLite 我的业余爱好项目
  • VSCode扩展如何获取行最后一个字符的位置

    我正在开发一个 VSCode 插件 现在想要获取一行最后一个字符的位置 现在我想使用 with 方法通过已知的 Position 对象获取它 官方参考在这里 https code visualstudio com api reference
  • docker run -e 不工作,bug?

    根据docs https docs docker com engine reference run env environment variables 此外 操作员可以在中设置任何环境变量 容器通过使用一个或多个 e 标志 甚至覆盖那些 上
  • 如何缓解连接 com.mysql.jdbc.JDBC4Connection@11d08960 触发的连接泄漏,

    我有一个 mqtt 客户端从主题获取订阅请求 然后我把它交给固定大小 50 的线程池 我使用 hikaricp 2 4 2 作为 DB Pooling MySQL 数据库 我目前使用 2 4 2 这是我的设置 HikariConfig co