[英]neo4j : Limited queries sent in java
对于在Tomcat下开发的网站,我将程序连接到数据库neo4j。 通过jdbc完成连接。 我的程序现在是本地的,数据库在远程服务器上。 当我启动Tomcat时,它首先检查是否存在特定的节点,如果不存在,则会创建它们。 大约有135个节点。 问题:大约十点之后,程序停止运行,并停留在无限循环之类的状态。 我想我应该关闭一些东西,但是呢? 这是我的代码:
private ResultSet sendCommand(String command) throws SQLException
{
try(Statement statement = _neo4jConnection.createStatement())
{
return statement.executeQuery(command);
}
}
和一个调用此代码的函数(所有函数都基于相同的结构)
public static Long createNode(NodeLabel labelName)
{
try
{
ResultSet rs = getInstance().sendCommand("CREATE (n:"+labelName+") RETURN id(n)");
Long result= rs.next()?rs.getLong("id(n)"):null;
rs.close();
return result;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
在我最新的实验中,我多次重用了同一条语句,虽然不确定这是最好的方法,但似乎也能很好地工作。
https://github.com/peterneubauer/blogs/tree/master/csv_jdbc ,代码位于https://github.com/peterneubauer/blogs/blob/master/csv_jdbc/src/test/java/org/neo4j/jdbctest/ JDBCTest.java
我发现的唯一解决方案是定期断开连接并重新连接到数据库(大约20条语句之后)。 这太可怕了,但是行得通。 好吧,但是,我放弃了针对neo4j的jdbc,太多的问题和灾难性的性能(获取一个简单数据大约需要1s),发生了更多的问题!
无论如何,谢谢您的帮助
尼可
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.