在Neo4j全栈书中给了个例子,执行时报异常:
ClientException: SSL Connection terminated while receiving data neo4j
用tcpdump命令查看接口消息,因为bolt是二进制报文,所以没有明文消息
在官网Java Developer页面:
https://neo4j.com/developer/java/#_the_example_project
看到一个例子,和maven版本,发现Neo4j全栈用的是比较老的版本,所以替换成新版本:
<dependency>
<groupId>org.neo4j.driver</groupId>
<artifactId>neo4j-java-driver</artifactId>
<version>4.4.9</version>
</dependency>
因为Neo4j版本是4,所以Neo4j API的版本也需要是4
import org.neo4j.driver.*;
import java.util.Map;
import java.util.Set;
public class ConnectServer {
public static void main( final String[] args ) throws Exception{
Driver driver = GraphDatabase.driver("bolt://172.21.9.22:7687", AuthTokens.basic("neo4j", "passw0rd"));
Session session = driver.session();
session.run( "CREATE (u:User {name:'one', email:'one@com.cn'})" );
Result result = session.run("MATCH (u) WHERE u.name = 'one' RETURN u");
while ( result.hasNext() )
{
Record record = result.next();
Map<String, Object> map = record.get("u").asMap();
Set<Map.Entry<String, Object>> set = map.entrySet();
for(Map.Entry one : set){
System.out.print(one.getKey() + "=" + one.getValue() + ";");
}
System.out.println();
}
session.close();
driver.close();
}
}