Как я могу использовать драйвер Bolt с Spring Boot/Data Neo4j
Я получаю эту ошибку от Spring Boot.
Could not deduce driver to use based on URI 'bolt://localhost:7687
при попытке настроить с помощью свойств или переменной env
spring.data.neo4j.uri=bolt://localhost:7687
Я добавил драйвер
<dependency>
<scope>runtime</scope>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-ogm-bolt-driver</artifactId>
<version>${neo4j-ogm.version}</version>
</dependency>
Я полагаю, весенняя загрузка пока не поддерживает автоконфигурацию
Как вручную настроить этот драйвер для работы с Spring Boot / Data? пожалуйста, приведите пример.
2 ответа
Текущий стартер Spring Boot для Neo4j не обнаруживает bolt
протокол и так не может автоматически настроить драйвер болта. Однако, если вы предоставляете компонент конфигурации в контексте приложения, Spring Boot будет использовать его, а не пытаться автоматически сконфигурировать сам драйвер.
Этого должно быть достаточно, чтобы вы начали:
@Bean
public Configuration getConfiguration() {
Configuration config = new Configuration();
config
.driverConfiguration()
.setURI("bolt://localhost");
return config;
}
Обратите внимание, что вам не нужно объявлять имя драйвера в конфигурации, оно будет автоматически определено из URI.
Также обратите внимание на Configuration
класс на самом деле org.neo4j.ogm.config.Configuration
, который вы, вероятно, должны будете использовать явно.
Обратите внимание, что вам не нужно объявлять имя драйвера в конфигурации, оно будет автоматически определено из URI.
Я получаю "неизвестный протокол: болт" в этом случае.
Проблема в том, что DriverConfiguration.setURI()
постараюсь создать экземпляр java.net.URL
извлечь userName
, password
и установить драйвер. Я думаю, что лучше использовать java.net.URI
потому что нам не нужно открывать соединение, а только чтобы получить информацию.
Посмотрите этот пост: почему класс URL в Java не распознает определенные протоколы?