如何使用嵌入式Cassandra将Java与Titan连接起来

时间:2015-11-12 19:20:54

标签: java cassandra titan

我安装了titan-cassandra-0.4.4,我可以完美地运行cassandra和gremlin(本地节点)。

我想用Java测试算法,所以我需要将Java连接到titan。 我的pom是:

    <dependency>
        <groupId>com.thinkaurelius.titan</groupId>
        <artifactId>titan-core</artifactId>
        <version>0.4.4</version>
    </dependency>

我的代码是:

    BaseConfiguration baseConfiguration = new BaseConfiguration();
    baseConfiguration.setProperty("storage.backend", "cassandra");
    baseConfiguration.setProperty("storage.hostname", "127.0.0.1");
    baseConfiguration.setProperty("storage.tablename","test");

    TitanGraph titanGraph = TitanFactory.open(baseConfiguration);

在最后一行中,错误是:

Exception in thread "main" java.lang.NoClassDefFoundError: com/netflix/astyanax/connectionpool/exceptions/ConnectionException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.thinkaurelius.titan.diskstorage.Backend.getStorageManager(Backend.java:202)
at com.thinkaurelius.titan.diskstorage.Backend.<init>(Backend.java:97)
at com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.getBackend(GraphDatabaseConfiguration.java:398)
at com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.<init>(StandardTitanGraph.java:78)
at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:60)
at Connecting.main(Connecting.java:20)
Caused by: java.lang.ClassNotFoundException: com.netflix.astyanax.connectionpool.exceptions.ConnectionException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 8 more

我首先启动cassandra,然后启动titan gremlin.sh,最后运行java代码。我不知道我是否遗失了什么?

提前致谢!

1 个答案:

答案 0 :(得分:3)

您应该为titan-casssandra添加依赖项。

    <dependency>
        <groupId>com.thinkaurelius.titan</groupId>
        <artifactId>titan-casssandra</artifactId>
        <version>0.4.4</version>
    </dependency>

另请注意,如果您刚开始使用Titan,0.4.4版本已经过时了。 Titan 1.0于2015年9月发布。您可以在http://titandb.io

找到更多信息