Я подключаюсь к удаленной базе данных neo4j, используя ConfigrationSource
и SessionFactory
из neo4j OGM следующим образом:
private final static ConfigurationSource props = new ClasspathConfigurationSource("neo4j-connection.properties");
private final static Configuration configuration = new Configuration.Builder(props).build();
private final static SessionFactory sessionFactory = new SessionFactory(configuration, "domain");
Затем я запускаю запрос шифрования и возвращаю Iterable из POJO, сопоставленный сУзлы neo4j с аннотациями OGM
private final LinkedBlockingQueue<Session> sessionPool = new LinkedBlockingQueue<>(8192);
@Override
public Iterable<Location> findAll() {
try {
return session.loadAll(Location.class, 1);
} finally {
closeSession(session);
}
}
private void closeSession(Session session) {
if (session != null) {
try {
sessionPool.offer(session, 100, TimeUnit.MILLISECONDS);
} catch (Throwable e) {
e.printStackTrace();
}
}
}
Все работает нормально, в моем методе main у меня есть объект POJO, созданный со значениями neo4j
public static void main(String[] args) {
LocationServiceImpl locationService = new LocationServiceImpl();
Iterable<Location> locations = locationService.findAll();
for(Location location : locations) {
System.out.println(location.getSubType());//eg. prints Floor, Building etc
}
System.out.println("End");
}
Но после завершения метода main приложение победило 'не останавливайся.Над строкой «End» печатается.Так что где-то висит поток, и я не могу понять, где и почему.
Я попытался закрыть сеанс neo4j ogm, но безуспешно.
Мои зависимости neo4j ogm pom
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-ogm-bolt-driver</artifactId>
<version>3.1.2</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-jdbc-driver</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-ogm-core</artifactId>
<version>3.1.3</version>
</dependency>
Печать экрана с визуального вм ![enter image description here](https://i.stack.imgur.com/eiBqO.png)