【发布时间】:2015-10-15 05:34:14
【问题描述】:
我正在用多个线程在 Titan 中创建一个顶点。 这是我的代码
尝试连接到 Titan,指定架构,然后添加顶点。
g = TitanFactory.open("/conf/titan-cassandra.properties");
TitanManagement mgmt = g.getManagementSystem();
final PropertyKey userid = mgmt.makePropertyKey("userid").dataType(Integer.class).make();
TitanGraphIndex namei = mgmt.buildIndex("userid",Vertex.class).addKey(userid).unique().buildCompositeIndex();
mgmt.setConsistency(namei, ConsistencyModifier.LOCK);
mgmt.commit();
然后我调用一个函数来添加顶点
多线程访问函数Add Vertex,它接受输入参数-随机生成的唯一数字(entityPK)
tx1 = g.newTransaction();
Vertex user_ver = tx1.addVertexWithLabel("user");
user_ver.setProperty("userid",entityPK);
//Adding other properties for vertex
tx1.commit();`
我读到抛出的异常是因为没有指定 LOCK。但是即使指定了LOCK,也会抛出异常。
com.thinkaurelius.titan.core.TitanException: 由于持久化期间出现异常而无法提交事务
【问题讨论】: