Java:按计划检测并删除死锁

时间:2018-08-14 12:09:22

标签: java ejb java-ee-7

当前正在使用javaEE(EJB)编写的系统上工作,在该系统上我希望能够检测和处理数据库死锁。数据库为PGSQL 我最初考虑使用@Schedule批注创建一个ScheduledBean以便在@Startup运行以每隔几分钟轮询一次死锁 (这将运行一个SQL语句来检测死锁)。但是我不确定这是否是正确的选择,因为 轮询可能会降低性能。我宁愿在Java级别而不是SQL Server级别执行此操作。

任何建议都值得赞赏。

谢谢。

1 个答案:

答案 0 :(得分:0)

您是否需要信息或将信息从Java应用程序传递到SQL语句?如果没有,我建议通过添加触发器,如果​​检查应该在插入/更新上执行或按计划执行pgAgent之类的操作来完全在数据库中处理它。

如果您仍然希望通过Java EE应用程序执行此操作,那么最简单的方法就是使用EJB Timer Service