Neo4j グラフを試しているときに、「特定のトランザクション名」を持つトランザクションは常に 1 つしか存在できないことがわかりました。それは本当ですか、それとも取引を理解する上で何か間違いを犯していますか?
たとえば、次のコードを検討してください。
updateNode(Node node){
Transaction txNode = graphDB.beginTx();
try{
//do some operations on node
txNode.success();
}finally{
txNode.finish();
}
}
複数のプロセスまたは複数のスレッドが同じ「graphDB」で実行されている場合、各プロセス/スレッドが異なるノードに対して上記の関数を呼び出すことができる場合、「txNode」という名前のトランザクションが 1 つだけのようになり、スレッド/プロセス間で問題が発生する可能性がありますか?
トランザクションはグラフレベルで作成されるため、各トランザクション(並行して使用する必要がある)には異なる名前を付ける必要があるためだと思います。
私が間違っているかどうかを明確にしてください...
そして、私が正しければ、どうすればそのような状況に取り組むことができるでしょうか? 並行して実行されているそのようなスレッド/プロセスごとに異なる名前のトランザクションを作成するにはどうすればよいでしょうか?