【发布时间】:2014-06-01 18:12:22
【问题描述】:
对于在 Tomcat 下开发的网站,我将我的程序连接到数据库 neo4j。连接是通过 jdbc 完成的。 我的程序现在在本地,数据库在远程服务器上。 当我启动 Tomcat 时,它首先检查是否存在特定节点,如果没有,它会创建它们。 大约有 135 个节点。 问题:大约 10 点后,程序停止,并停留在类似无限循环的状态。 我想我应该关闭一些东西,但是什么? 这是我的代码:
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;
}
}
【问题讨论】:
-
有趣的是,我今天处理了完全相同的问题。将尝试一些池化实验,例如通过 tomcat 的 jdbc-pool 并报告回来。
-
嗨 Stefan,感谢您的支持 :) 你认为,我们应该为每个语句打开和关闭连接(或者在特定数字之后更少?)。
标签: java tomcat jdbc neo4j cypher