查找 Java 应用程序中的连接泄漏

2023-12-21

我有一个应用程序在一段时间后开始出现内部服务器错误,我询问的一些人告诉我,这可能是因为我的应用程序中的连接泄漏。我开始搜索并发现这个查询来模拟连接泄漏。

select LAST_CALL_ET, SQL_TEXT, username, machine, to_char(logon_time, 'ddMon hh24:mi') as login, SQL_HASH_VALUE, PREV_HASH_VALUE, status from v$session, v$sql where username='USERNAME' and HASH_VALUE = PREV_HASH_VALUE order by last_call_et desc;.

我使用此查询监视我的应用程序,并关闭此结果中显示的查询的所有泄漏连接。但现在我的应用程序开始对更少的不活动会话给出相同的错误。 我是否使用正确的查询来查找活动会话/连接泄漏?有人告诉我这个查询中的条件 HASH_VALUE = PREV_HASH_VALUE 是错误的,但我不了解这些列(没有太多数据库知识。)

谢谢


如果您需要找出泄漏,您可以使用分析器,例如yourkit https://www.yourkit.com/docs/java/help/builtin_probes.jsp or jprofiler https://www.ej-technologies.com/products/jprofiler/overview.html它能够跟踪套接字/jdbc 泄漏。

要修复泄漏,您必须找出打开连接的位置并使用 try-with-resources 这将完成所有操作close()给你的东西

try (Connection conection = DriverManager.getConnection(url);
     PreparedStatement statement = createPreparedStatement(conection); 
     ResultSet resultSet = statement.executeQuery()) {
     // process the resultSet here, all resources will be cleaned up
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找 Java 应用程序中的连接泄漏 的相关文章

随机推荐

  • 如何使用 Spring Cloud 和 Netflix OSS 在微服务之间路由

    在使用 Spring Cloud 开发微服务期间 我们开始使用 Zuul 作为从外部到微服务的任何连接以及任何需要联系另一个微服务的微服务的代理 一段时间后 我们得出结论 Zuul 被设计为边缘服务 仅代理从外部到微服务的流量 并且不应用于
  • 如何在AWS Lambda上使用tabula阅读pdf?

    我知道我们必须下载 Java 才能运行 我在 IDE 上执行了该操作 并且成功了 但不知道如何在 AWS Lambda 上下载它 如果有人能帮助我 我将不胜感激 我认为代码本身产生了我所期望的结果 但是 java正是我所需要的 这是我收到的
  • 将 GKE 服务帐户凭据与 kubectl 结合使用

    我正在尝试从 CI 系统中调用 kubectl 我希望使用谷歌云服务帐户进行身份验证 我有一个秘密管理系统 可以将秘密注入到我的 CI 系统中 但是 我的 CI 系统没有安装 gcloud 我不想安装它 它只包含 kubectl 有什么方法
  • Azure AD B2C 令牌返回名称,但 User.Identity.Name 为 null

    我有一个 Azure AD B2C 令牌 它似乎可以正确返回当前登录的用户名 这是 jwt ms 的屏幕截图 我在登录后使用它来解码应用程序返回的令牌 但是 然后我尝试使用 User Identity Name in my Layout c
  • 关于Javascript中的“5”-1和“5”+1(加号和减号)[重复]

    这个问题在这里已经有答案了 我读了一本关于 Javascript 运算符的书 这让我很困惑 console log 5 1 这将使 5 成为一个字符串 所以结果是51 console log 5 1 这个结果将是4 我知道它会转换 5 to
  • 在 VSTS 中设置 GitFlow - 最佳实践?

    有没有关于如何使用 Visual Studio TeamServices 设置 GitFlow 的建议 我们来自 BitBucket 那里只是一个简单的初始化 但在VSTS中我们找不到任何脚手架 看来我们必须进行很多手动设置 对吗 那么如何
  • 捕获滚动​​溢出:隐藏元素

    假设您有一个隐藏了溢出的元素 是否可以在不滚动的情况下捕获该元素上的鼠标滚动 我问这个的原因是 我有一个单页设计的网站 我编写了一个脚本 当您向下或向上滚动时 该脚本会自动滚动到下一个位置 但有一些我不想要的东西 当他们尝试滚动时 页面实际
  • 共同的初始序列和比对

    在思考反例时这个问题 https stackoverflow com q 21499120 420683 我想出了 struct A alignas 2 char byte 但如果这是合法和标准布局 它的布局是否与此兼容struct B s
  • Linux 中 C++ 的低级磁盘操作

    linux中有哪些方法可以用C 进行低级磁盘操作 我正在尝试在磁盘上编写自己的数据管理器 例如 我想在Linux环境中创建一个C 程序 在磁盘上分配一定数量 连续 的数据 然后自由地允许我读 写该数据块 我认为我不想使用该标准fstream
  • 将独立的 aspx/asmx 页面添加到 DotNetNuke 中

    你好 我刚刚在我的服务器上安装了 dotnetnuke 5 06 比如说 路径是 mydomain com dnn 我有一个独立于 dotnetnuke 的库 我必须运行它 它包含 Web 服务和各种其他 httphandlers 所以我还
  • Excel Range 奇怪行为的 SpecialCells 方法

    我编写了一个宏 使用 Excel 范围对象的 SpecialCells 方法从某个范围中查找空白单元格 当我尝试执行以下代码时 出现 未找到单元格 的异常 Sub test Debug Print Sheet1 Range A1 D4 Sp
  • 无法找到组合@Published - Xcode11 Beta 5(11M382q)

    我正在尝试使用以下内容运行一个简单的项目 Published var currentPlacemark CLPlacemark nil XCode 11 Beta 5 11M382q iOS13 17A5556d 出现以下错误 dyld S
  • azure辅助角色中的异步/等待导致角色回收

    我正在我的 WorkerRole RoleEntryPoint 中使用任务 异步和等待 我有一些无法解释的回收 现在我发现 如果等待调用中的某些内容运行时间过长 则角色会回收 要重现它 只需在 Run 方法中执行 await Task De
  • Jquery UI 可调整大小 - 调整放置在 iframe 上的 div 的大小

    如果你查看这个 jsbin http jsbin com efosed 5 edit http jsbin com efosed 5 edit然后你按 Run with JS 就会出现一个可以用 jquery ui 调整大小的 div 一切
  • Azure Functions 部署时无法运行

    我是新来的 如果帖子不完整 抱歉 我正在尝试在 azure 上部署一个与 blob 交互的 python 脚本 该脚本在本地运行良好 我可以与我的存储帐户交互 上传和下载 blob 但是当我在 azure 上部署我的函数时 它不会运行 日志
  • bash 使用序列号批量重命名文件夹和子文件夹中的文件

    我需要一个 bash 脚本来执行以下操作 对于文件夹及其子文件夹中存在的特定类型的每个文件 它都会在前面添加一个序列号 4 位数字 后跟一个分隔符 例如我有 Queen 1986 A Kind of Magic 01 One vision
  • 流程图 - 动态更改 y 轴

    我是飞行新手 但很快就设置了我的时间图 这是我基于时间的情节 plot placeholder d xaxis mode time minTickSize 1 month min new Date 2008 05 20 getTime ma
  • 为什么我需要将“get”包装在 J“lapply”调用中的虚拟函数中?

    我希望通过类或常见模式匹配等标准来处理列grep 我的第一次尝试没有成功 require data table test table lt data table a 1 10 ab 1 10 b 101 110 this does not
  • 在 Netbeans 内运行时停止 Tomcat

    我使用 NetBeans 运行 Apache Tomcat 6 当我的代码出现故障 例如 NullPointerException 时 tomcat 会失败并且不会运行任何其他请求 我的问题是我无法让 tomcat 停止 我必须重新启动整个
  • 查找 Java 应用程序中的连接泄漏

    我有一个应用程序在一段时间后开始出现内部服务器错误 我询问的一些人告诉我 这可能是因为我的应用程序中的连接泄漏 我开始搜索并发现这个查询来模拟连接泄漏 select LAST CALL ET SQL TEXT username machin