Я просто попытался сделать несколько экземпляров графика из одного файла конфигурации.
gremlin> graph = TitanFactory.open("conf/gremlin-server/titan-cassandra-solr.properties")
==>standardtitangraph[cassandra:[127.0.0.1]]
gremlin> graph2 = TitanFactory.open("conf/gremlin-server/titan-cassandra-solr.properties")
==>standardtitangraph[cassandra:[127.0.0.1]]
gremlin> graph.traversal().V()
16:50:19 WARN com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx - Query requires iterating over all vertices [()]. For better performance, use indexes
gremlin> graph2.traversal().V()
16:50:29 WARN com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx - Query requires iterating over all vertices [()]. For better performance, use indexes
Кажется, что нет никаких проблем с использованием двух экземпляров графа одновременно, хотя я не уверен, почему вы хотели бы это. Если вы подробно расскажете о своем прецеденте, я могу помочь вам дальше.
мое приложение хочет создать несколько транзакций с одним и тем же графическим соединением. Как это сделать, не сталкиваясь с проблемой параллелизма в cassandra Titan? – Parag
Graph threaded = graph.tx(). CreateThreadedTx(); доступный в титане 1.0.0 и выше. Он работает, но, как вы указываете, у вас будет независимый кеш для каждого потока. Таким образом, он будет работать одновременно, но не с консистенцией до тех пор, пока вы не зафиксируете (она имеет конечную консистенцию). –