Java Titan graph数据库中更新顶点属性的问题
在我的Titan graph db中,Java Titan graph数据库中更新顶点属性的问题,java,cassandra,titan,gremlin,tinkerpop3,Java,Cassandra,Titan,Gremlin,Tinkerpop3,在我的Titan graph db中,JobLockStatus可以是(F)ree或(B)usy 基于某种条件 N对于RequestId=203,同时尝试更改joblockstatus的作业数。我正在使用以下查询更新值: GraphTraversal<Vertex, Vertex> ab = traversalSource.V().has("RequestJob", "RequestId", 203).has("JobLockStatus","F").property("JobLoc
JobLockStatus
可以是(F)ree或(B)usy
基于某种条件
N对于RequestId=203,同时尝试更改joblockstatus
的作业数。我正在使用以下查询更新值:
GraphTraversal<Vertex, Vertex> ab =
traversalSource.V().has("RequestJob", "RequestId", 203).has("JobLockStatus","F").property("JobLockStatus", "B").iterate();
GraphTraversal ab=
traversalSource.V().has(“RequestJob”,“RequestId”,203).has(“JobLockStatus”,“F”).property(“JobLockStatus”,“B”).iterate();
将JobLockStatus
的值从“F”更新到“B”在任何时候都只能由任何一个作业执行一次。但就我而言,许多工作正在改变价值。如何避免这种并发问题?请帮助我解决此问题。解决了此并发问题..使用consistencyModifier.Lock on jobLockStatus..因此在任何时候,只有一个作业可以锁定jobLockStatus并更新它..当两个并行作业尝试锁定时,只有一个作业将锁定它,而另一个作业将获得permanantLockException..然后使用java中的try catch处理异常..解决了此并发问题..使用consistencyModifier.lock on jobLockStatus..因此,在任何时候,只有一个作业可以锁定jobLockStatus并更新它..当两个并行作业尝试锁定时,只有一个作业将锁定它,而另一个作业将获得permanantLockException..然后使用java中的try catch处理该异常