Я новичок в Neo4j.
Я использую его в своем приложении Spring с spring-data-neo4j.
Когда я запускаю свое приложение, часто, но не всегда, первый запрос к БД выдает мне сообщение:
java.lang.NullPointerException: null at
org.neo4j.ogm.drivers.bolt.request.BoltRequest.executeRequest(BoltRequest.java:149)
~[neo4j-ogm-bolt-driver-3.1.5.jar:3.1.5] at
org.neo4j.ogm.drivers.bolt.request.BoltRequest.execute(BoltRequest.java:135)
или
java.lang.NullPointerException: null at
org.neo4j.ogm.metadata.reflect.EntityAccessManager.getIterableField(EntityAccessManager.java:431)
~[neo4j-ogm-core-3.1.5.jar:3.1.5] at
org.neo4j.ogm.context.GraphEntityMapper.mapOneToMany(GraphEntityMapper.java:550)
Я подозреваю, что это проблема с сеансом, потому что, если я вызываю ту же часть кода сразу после этого, я получаю сообщение об ошибке, ошибка больше не происходит и больше не произойдет, пока я не перезапущу приложение.
Также это происходит не при каждом первом запросе: иногда я запускаю приложение, и первый (и следующий) запросы обрабатываются без ошибок.
Я пытался отложить первый запрос, но, похоже, ничего не получилось.
Вот мой конфиг Neo4j:
@Configuration
@EnableNeo4jRepositories("com.myApp.data.repository")
@EnableTransactionManagement
@EntityScan("com.myApp.data.model")
public class Neo4JConfig {
public static final String URL = "bolt://neo4j:myApp@localhost";
@Bean
public org.neo4j.ogm.config.Configuration getConfiguration() {
org.neo4j.ogm.config.Configuration configuration = new Builder().uri(URL).build();
return configuration;
}
@Bean
public SessionFactory sessionFactory() {
return new SessionFactory(getConfiguration(), "com.myApp.data.model");
}
@Bean
public Neo4jTransactionManager transactionManager() {
return new Neo4jTransactionManager(sessionFactory());
}
}
И мой pom.xml:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-neo4j</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
Вся часть БД находится в отдельном модуле (с config и pom выше).
Есть идеи о том, что здесь происходит?
Thx