在以下情况下我需要一些帮助:想象一下具有Job
属性的progress
个实体的层次结构。一些工作由多个子工作组成一个工作树。这些复合作业的进度是根据他们的子工作计算的。最低工作进度会定期更新,然后自下而上重新计算整棵树的进度。通过收到的JMS消息更新作业进度。在这种情况下,通过JPA从数据库中获取作业,并修改进度并开始递归重新计算。
如果在群集中运行,我该如何处理锁定?我想避免两个子工作从0%更新到100%并且父作业变为50%而不是100%的情况,因为两个更新都看到0%,100%,反之亦然。
我的第一个想法是在作业对象上使用同步。但这不行,因为多个运行时对象可能代表数据库中的相同记录。
你能否建议我一个好的,有效的方法来处理这种情况?