[英]Connection to Neo4j with jdbc No suitable driver found for jdbc:neo4j:bolt://localhost:7687
[英]Spring Boot Test using Neo4j embedded database with JDBC Bolt driver
是否可以像使用H2内存数据库模拟Oracle数据库一样连接到嵌入式Neo4j数据库?
我试图做到这一点:
final BoltConnector boltConnector = new BoltConnector("bolt");
graphDb = new GraphDatabaseFactory()
.newEmbeddedDatabaseBuilder(DB_PATH)
.setConfig(boltConnector.type, BOLT.name())
.setConfig(boltConnector.enabled, TRUE)
.setConfig(boltConnector.listen_address, listenAddress("127.0.0.1", 7688))
.setConfig(boltConnector.encryption_level, DISABLED.name())
.setConfig(GraphDatabaseSettings.auth_enabled, FALSE)
.newGraphDatabase();
然后使用具有以下spring.datasource配置的JDBC Bolt驱动程序发出请求:
spring:
profiles: test
datasource:
driver-class-name: org.neo4j.jdbc.bolt.BoltDriver
url: jdbc:neo4j:bolt://127.0.0.1:7688/?nossl
但是我总是收到以下错误:
Unable to connect to 127.0.0.1:7688, ensure the database is running and that there is a working network connection to it.
当然,当我使用graphDb
实例并对它执行请求时,嵌入式数据库就可以工作。 但是我希望我的应用程序像连接到远程Neo4j数据库一样,连接到嵌入式数据库。 这是出于测试目的。
我终于RTFM ...
我的pom.xml
具有以下依赖项:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>3.4.0</version>
</dependency>
然后我发现了这一点: https : //neo4j.com/docs/java-reference/current/tutorials-java-embedded/#tutorials-java-embedded-bolt该文档有些过时了,因为它使用了已弃用的配置。 但是他们解释了这一点:
Neo4j浏览器和官方的Neo4j驱动程序使用Bolt数据库协议与Neo4j进行通信。 默认情况下,Neo4j Embedded不公开Bolt连接器,但是您可以启用它。 这样可以将服务Neo4j Browser连接到嵌入式实例。
他们明确指出要使用的正确依赖项是:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-bolt</artifactId>
<version>3.4.0</version>
</dependency>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.