如何记录Spring事务内容

Jan*_*rts 7 logging spring transactions

有各种记录Spring事务管理器的活动(启动,提交和回滚)的帖子.但是,我最近遇到了一个死锁问题,只记录活动是不够的.

我们的代码中的基本问题是需要使用事务传播和REQUIRES_NEW.反复进行了很多方法调用,最终我们将大量事务堆叠在一起.唉,代码库很大,解决方案很紧急......(我们都知道这是什么.)

问题是死锁,因为代码已添加到在另一个事务中按顺序修改的事务中的查询实体.Spring吐出一个异常,告诉实体X的更新超时,因为它被锁定了.现在,知道这很好,但是如何找到错误的代码:执行早期锁定的查询.

我的问题(最后):有没有办法记录添加到交易中的实体?这样我就可以专门查找锁定Spring正在抱怨的实体的事务.

谢谢 !:-)

Don*_*onz 0

尝试在 ORM 中记录查询。也许这会是找到“不良”交易的更简单的方法。