Java Titan graph数据库中更新顶点属性的问题

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

在我的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("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处理该异常