【发布时间】:2015-05-25 12:17:11
【问题描述】:
我认为我的一个程序有漏洞,一个是桌面应用程序,它使用多线程石英调度程序作业连接到数据库并进行一些检查和操作,另一个是 Tomcat Web 应用程序工具来做一些数据库上的事务,所以我需要知道泄漏的位置,因为我的数据库管理员抱怨其中一个应用程序与数据库用户造成了如此多的连接,并且它们都连接到同一个用户,所以我不知道是哪一个。
我已经搜索并找到了http://java-monitor.com/forum/livedemo.php,但它甚至没有下载。
那么是否有任何代码或我可以做些什么来知道是否没有任何工具?
请注意:程序在同一台机器上,我也仔细检查了结果集和准备好的语句的关闭连接
【问题讨论】:
-
可能你没有在 finally 部分关闭你的连接,和/或在你完成工作后没有完成你的线程。
-
我不明白这个问题。如果您试图确定哪个应用程序正在打开您的 DBA 抱怨的连接,您的 DBA 应该能够根据来自
v$session的program、machine和/或osuser告诉您。跨度> -
@JustinCave 我已经编辑了我的问题
-
@KrzysztofCichocki 我已经编辑了我的问题
-
是的。您的 DBA(或者如果您有权访问
v$session并知道 DBA 抱怨哪些会话)将能够确定客户端上可执行文件的名称(假设您的客户在他们将其发送到数据库,但这是极不可能的)。
标签: java multithreading oracle database-connection