tomcat的:如何获得开业JDBC:Oracle连接的堆栈跟踪? [英] tomcat : How to get opened jdbc:oracle connection's stack trace?
问题描述
拥有在多个地点运行的Web应用程序,结果
我可以看到很多连接通过在Linux上运行此命令堆砌:
Have a web application running across multiple locations,
I can see many connections piling up by running this command on linux:
ps -ef|grep LOCAL
显示我的进程ID的活跃Oracle连接的数量和连接数已经由每小时5-7号成长。几个小时后,应用程序变慢,最终Tomcat服务器需要重新启动。
shows me the count of active oracle connections with process id's, and the connection count has been growing up by 5-7 number every hour. After few hours, application slows down and eventually tomcat server needs to be restarted.
由于,我能看到越来越多的连接,有没有什么办法让这些连接的来源,找出哪些类或公司创建了这些奠定了连接对象?
As, I am able to see connections growing, Is there any way to get the source of these connections, to find out what classes or object's have created these laid up connections?
和我没有使用Tomcat连接池,我试图生成线程发出必杀-3的tomcat的pid转储,但对我没有用的,因为我无法理解他们,甚至试图线程分析仪。
And I am not using Tomcat connection pooling, I tried generating thread dumps by issuing kill -3 tomcat pid, but of no use to me, as I am not able to understand them, even tried thread analyzers.
有没有简单的方法来获得与这些放置了连接相关联,以得到一个小提示鼻祖类,使用一些Tomcat的功能,或以任何其他方式?
Is there any simple way to get the originator classes associated with these laid up connections to get a small hint, using some tomcat feature, or by any other means?
推荐答案
在的JProfiler ,你yould使用JDBC探头获取打开连接的堆栈跟踪。你会选择在时间轴上连接
In JProfiler, you yould use the JDBC probe to get the stack trace that opened a connection. You would select the connection in the timeline
和跳转到事件查看
在这里你可以选择连接打开事件。在下面的窗格中,相关的堆栈跟踪显示。
where you can select the "Connection opened" event. in the lower pane, the associated stack trace is shown.
免责声明:我公司开发的JProfiler
Disclaimer: My company develops JProfiler
这篇关于tomcat的:如何获得开业JDBC:Oracle连接的堆栈跟踪?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!