在一些不使用连接池的较老的Java Web应用程序中,我有一个连接泄漏。

查找泄漏很困难,因为它不会授予我访问v$session的权限

SELECT Count(*) FROM v$session;

因此,我尝试使用System.Out语句进行调试。即使在关闭连接之后

conn.close();

当我将conn打印到系统日志文件时,它会给出连接对象的名称。

try {

Connection conn;

conn.close()

}

catch (SQLException e) { }

finally {

if (conn != null) {

try {

System.out.println("Closing the connection");

conn.close();

}

catch (Exception ex)

{

System.out.println("Exception is " + ex);

}

}

}

// I then check conn and it is not null and I can print the object name.

if (conn != null) {

System.out.println("Connection is still open and is " + conn);

}

但是,如果我还补充

conn = null;

在下面

连接关闭();

语句连接现在似乎已关闭。所以我的问题是conn.close();实际上释放了我的连接,还是必须使其为空才能真正释放我的连接。就像我说的,在没有查询v$session的情况下,很难确定连接是否真的被释放。是否有Java代码片段可以给我打开的连接??

这可能是有教育意义的,因为我计划重构这些应用程序以使用连接池,但我现在正在寻找一个快速的创可贴。

java 关闭oracle连接_Java应用中Oracle连接不关闭相关推荐

  1. java操作oracle数据_Java jdbc操作oracle数据库的两种方式

    本文由广州疯狂软件java培训分享: 第一种应该是比较古老的方法了. Windows下采用JDBC-ODBC Bridge连接oracle数据库 1. 安装oracle客户端程序,在tnsnames. ...

  2. oracle 尚未从池中获取连接,解决一个问题的思路 之“解决已经写满con.close() 仍然出现但是尚未从池中获取连接的连接池耗尽问题”...

    这篇文章主要写解决一个网上答案不能解决自己问题的时候,解决问题的整个流程, 如果大家觉得这个没价值,还请管理员帮忙撤销发首页 先谢谢各位了. 一年前帮学校做了一个就业信息管理系统, 当时图热闹,觉得虽 ...

  3. oracle java存储过程返回值_java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)...

    java程序调用Oracle 存储过程 获取返回值(无返回,非结 果集,结果集) oracle中procedure是不能有返回值的,要想返回值,就得有 输出参数,同样要想返回记录集,可以把游标类型作为 ...

  4. java长连接转短连接_java原生程序redis连接(连接池/长连接和短连接)选择问题...

    原标题:java原生程序redis连接(连接池/长连接和短连接)选择问题 最近遇到的连接问题我准备从重构的几个程序(redis和mysql)长连接和短连接,以及连接池和单连接等问题用几篇博客来总结下. ...

  5. java程序优化快捷键_Java 代码中针对性能优化的总结方案

    在一个好的项目中代码优化是永远离不开的话题,如果有充足的时间开发和维护代码,必须考虑每个可以优化的细节,日积月累,项目的质量才会上升,代码优化是绝对有必要的工作.代码优化的主要目的是减少代码块,提升代 ...

  6. Java中用JS那些_java web中javascript主要用哪些?

    java web中javascript主要用途是在页面上完成特定按钮的事件功能并且实现前后台交互. JavaScript 是一种跨平台,面向对象的脚本语言.作为一种小巧且轻量级的语言,JavaScri ...

  7. java 切换主线程_Java线程状态及切换、关闭线程的正确姿势分享

    前言 在讲线程之前有必要讨论一下进程的定义:进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位.进程实体由程序段, 数据段 PCB(进程控制块)组成.线程又是什么?线程可以 ...

  8. linux 查oracle版本号,查看linux中oracle版本号的方法总结

    在Linux系统下,我们通过以下的方法可以查看到Oracle的版本号.下面由学习啦小编整理了查看linux中oracle版本号的方法总结,希望对你有帮助. 查看linux中oracle版本号的方法总结 ...

  9. Java私有方法解释_java接口中 定义 private 私有方法

    在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...

最新文章

  1. 根据ip获取地理位置
  2. 解决Raspberry Pi不识别RTL8188eu无线网卡芯片的问题
  3. 转:python模块学习 ---- smtplib 邮件发送
  4. 【转载】C++操作符
  5. 在上位计算机控制时不能将s7-200,plc控制系统编程题库.doc
  6. 操作系统对性能的影响-MySQL适合的操作系统
  7. Cygwin使用指南
  8. Oracle入门(十四.11)之使用显式游标属性
  9. bootstrap3 表单构建器_FastReport.NET报表设计器连接到OracleDB关系数据库
  10. [Linux]变量加减赋值以及将String转int
  11. Maven系列(一):maven基础入门
  12. c语言编程获取摄像头图像,OpenCV 获取摄像头图像数据并显示
  13. 驱动外置+原版安装方式『XLOS_Windows8_Pro_X86纯净版_V1.0』
  14. 在Word中为三位数字设置带圈字符(转)
  15. 【嵌入式模块】再探ESP8266,保姆级教程
  16. Linux怎么把硬盘ex2改为ex4,linux磁盘管理和文件系统创建
  17. springMVC中json转换器的配置
  18. 初探GO中的反射机制
  19. 强化学习 Reinforcement Learning(三)——是时候用 PARL 框架玩会儿 DOOM 了!!!(下)
  20. 爱奇艺携手网心科技构建下一代混合CDN,入选IDC中国边缘云最佳实践

热门文章

  1. 影像组学视频学习笔记(23)-主成分析PCA、降维和特征筛选的区别、Li‘s have a solution and plan.
  2. PL/SQL高级编程
  3. E. coli Bacterial Assembly 大肠杆菌
  4. lisp 线性标注自动避让_泰州支重轮双头车自动化生产线
  5. 四、双向链表的操作分析和代码实现
  6. 跟踪算法基准--Tracking the Trackers: An Analysis of the State of the Art in Multiple Object Tracking
  7. 目标检测--RON: Reverse Connection with Objectness Prior Networks for Object Detection
  8. 对象分割--Instance-sensitive Fully Convolutional Networks
  9. jquery 实现仿QQ右下角弹出框
  10. debian/ubuntu 安装和使用perf