Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何提高neo4j jdbc驱动程序的性能?_Java_Performance_Neo4j - Fatal编程技术网

Java 如何提高neo4j jdbc驱动程序的性能?

Java 如何提高neo4j jdbc驱动程序的性能?,java,performance,neo4j,Java,Performance,Neo4j,如何提高neo4j jdbc驱动程序的性能?我使用MVC结构来实现我的代码。构建ApacheHTTP客户端似乎需要3~5秒,所以我认为最好的方法是减少HTTP连接。但是为什么下面的代码会三次启动ApacheHTTP客户端呢?我想我只构建一次HTTP连接 控制台日志 Neo4jServiceTester.java Neo4jService.java BaseNeo4jDAO.java 在程序中只执行一次,然后传入连接 Neo4jConnection connection = new Driver(

如何提高neo4j jdbc驱动程序的性能?我使用MVC结构来实现我的代码。构建ApacheHTTP客户端似乎需要3~5秒,所以我认为最好的方法是减少HTTP连接。但是为什么下面的代码会三次启动ApacheHTTP客户端呢?我想我只构建一次HTTP连接

控制台日志

Neo4jServiceTester.java

Neo4jService.java

BaseNeo4jDAO.java


在程序中只执行一次,然后传入连接

Neo4jConnection connection = new Driver().connect("jdbc:neo4j://172.11.13.23:7474?debug=true", new Properties());
connection.setAutoCommit(false);

有没有办法实现连接池?因为会有很多用户,所以不可能只建立一个连接。我发现一件有趣的事情,当我使用osx中的eclipse连接到redhat中的neo4j服务器时,只需一秒钟就可以得到结果。但是,当我在windows中使用eclipse时,获得结果需要花费6秒钟以上的时间。代码是一样的。。。
@Test
public void findNodeTester() {
    try {
        String UUID = "306C0F88-0A26-41EA-A954-DFC7025402DC";
        neo4jService.findNode(UUID);
    } catch(Exception e) {
        e.printStackTrace();
    }
}
public void findNode(String UUID) throws Exception {
    Neo4jConnection connection = new Driver().connect("jdbc:neo4j://172.11.13.23:7474?debug=true", new Properties());
    connection.setAutoCommit(false);
    NodeBean node;
    try {
        node = neo4jDAO.findNode(connection, UUID);
        System.out.println("node=" + node.toString());
        connection.commit();
    } catch(Exception e) {
        connection.rollback();
        e.printStackTrace();
    }
    connection.close(); 
}
public NodeBean findNode(Neo4jConnection connection, String UUID) throws Exception {
    String queryStr = "MATCH (n) WHERE n.UUID = \"" + UUID + "\" RETURN { id : ID(n), labels : labels(n), properties: n } as node";
    Statement stmt = connection.createStatement();
    ResultSet rs = stmt.executeQuery(queryStr); 
    rs.next();
    NodeBean node = new NodeBean();
    BeanUtils.populate(node, (Map<String, Object>) rs.getObject("node"));
    return node;
}
1. Neo4jConnection connection = neo4jDB.getConnection();
2. ResultSet rs = stmt.executeQuery(queryStr);
3. connection.commit();
Neo4jConnection connection = new Driver().connect("jdbc:neo4j://172.11.13.23:7474?debug=true", new Properties());
connection.setAutoCommit(false);