我刚刚了解到,当我在 Neo4j 中创建两个节点之间的关系时,它们都被锁定(http://docs.neo4j.org/chunked/stable/transactions-locking.html http://docs.neo4j.org/chunked/stable/transactions-locking.html)。
然而,在我们的项目中,我们有可以实例化的元素,并且最终在图中有两个通过“INSTANCE_OF”关系链接的节点。
例如,如果我实例化元素 B,我就会有一个新元素 B1。它们存储在图中,如 B
非常感谢您的帮助
你有两个策略:
第一种是悲观的,是使用LockManager
获取写锁方法在添加相关的 B1 节点之前获取节点 B 上的排他锁,并在关系创建完成后立即将其解锁;
第二个是乐观的,是在死锁的情况下实施重试策略,可以捕获DeadlockDetectedException
异常并重试该操作,直到成功。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)