gpt4 book ai didi

neo4j查询后java进程不会停止

转载 作者:行者123 更新时间:2023-11-30 05:57:56 25 4
gpt4 key购买 nike

我正在使用 Neo4j OGM 的 ConfigrationSourceSessionFactory 连接到远程 neo4j 数据库,如下所示:

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");

然后我运行一个 cypher 查询并返回一个映射到带有 OGM 注释的 neo4j 节点的 POJO 可迭代对象

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();
}
}
}

一切正常,在我的主要方法中,我使用 Neo4j 值创建了 POJO 对象

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 session ,但没有成功。

我的 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

最佳答案

您还必须关闭SessionFactory

一些背景:我假设您正在使用 Bolt 协议(protocol)进行连接。创建 SessionFactory 实例还将创建一个 java (bolt) 驱动程序实例及其所有连接池等。要进行干净关闭,请调用 sessionFactory.close()关闭/关闭驱动程序。

关于neo4j查询后java进程不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52835377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com