0

我正在使用Orientdb 2.2.12

我想为顶点设置一个自动增量属性

例如

for(i 1 to 100)
{
  vertex.setProperty("counter", AUTO_INCREMENT_Value(start = 0))
}

我试图通过创建序列来实现这一点

sequenceLibrary.createSequence(AUTO_INCREMENT_Value, SEQUENCE_TYPE.ORDERED, new OSequence.CreateParams().setStart((long) 0));

   for(int i=1 ; i<=100; i++)
       {
          vertex.setProperty("counter", AUTO_INCREMENT_Value);
          graph.commit();
          graph.shutdown();
       }

虽然它在单线程系统中工作正常,但在多线程系统中却给出了模棱两可的结果

如官方文档中所述,我从 OrientGraphfactory 为每个线程提供了一个单独的 OrientGraph 实例:

 OrientGraphFactory graphFactory = new OrientGraphFactory(
                        "remote:" +  IP + ":" + PORT+ "/" + appName).setPool(1, 100);
 OrientGraph graph = graphFactory.getTx();

有没有办法在orientdb中实现这一点。

谢谢..!

4

0 回答 0