目前正在研究用javaEE(EJB)编写的系统,我希望能够检测和处理数据库死锁。数据库是PGSQL我最初考虑创建一个带有@Schedule注释的ScheduledBean,以便在@Startup上运行,每隔几分钟轮询一次死锁(这将运行一个SQL语句来检测死锁)。然而,我不确定这是否是正确的做法,因为投票可能会有一些性能成本。我宁愿在Java级别而不是在SQL Server级别执行此操作。
任何建议表示赞赏。
谢谢。
您是否需要将Java应用程序中的信息传递给SQL语句?如果没有,我建议在数据库中完全处理它,通过添加触发器,如果检查应该在插入/更新或类似pgAgent的情况下按计划执行。
如果您仍想从Java EE应用程序中执行此操作,那么最简单的方法是使用EJB Timer Service。