gpt4 book ai didi

java - 如何监控多线程 EJB2 JBoss 应用程序中的数据库事务?

转载 作者:行者123 更新时间:2023-11-29 09:10:38 25 4
gpt4 key购买 nike

我在我的应用程序中遇到了可重现的 Oracle 死锁。对代码的初步调查没有发现任何明显的原因,所以我想在记录正在运行的 SQL 以及最重要的是它们正在发生的事务时重新创建这种情况。

我开始添加我自己的调试语句,但这似乎是我在重新发明轮子并且已经证明容易出错(我最初错过了我的一个 EJB 方法被定义为“RequiresNew”)

是否有工具可以做到这一点?我看过:

  • log4jdbc,但从我看到的文档中不清楚将记录单独的事务,而且它不支持数据源,所以我需要解决这个问题。

  • jdbcslog - 也不清楚它是否会记录事务

还是我错过了一些更明显的方法来做到这一点?

最佳答案

解决了几次类似的情况。仅从您的 session 日志记录中很难(我称之为幸运)在复杂的应用程序中找到解决方案。 (Oracle 杀死其中一个 session 。一个被杀死,另一个快乐地活着)

最好的解决方案是询问您的 DBA(或者如果您有权访问您的 oracle 安装,您可以谷歌然后自己获取它们,这并不复杂)以获取跟踪文件(该文件在终止 session 的异常(exception)情况下被提及,所以搜索您的警报日志),将会出现死锁图。 (只是死锁的全文跟踪文件)

只需在此处查看有关如何查看跟踪文件的确切信息。 LINK

关于java - 如何监控多线程 EJB2 JBoss 应用程序中的数据库事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12638966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com