资源迭代器
在长时间运行的事务中,最佳实践是确保任何 org.neo4j.graphdb.ResourceIterator
在事务中获取的资源迭代器尽早关闭。这可以通过耗尽迭代器或显式调用其 close 方法来实现。
以下是如何使用 ResourceIterator
的示例。如果您未耗尽迭代器,可以使用 close()
方法显式关闭它。
Label label = Label.label( "User" );
int idToFind = 45;
String nameToFind = "user" + idToFind + "@neo4j.org";
try ( Transaction tx = graphDb.beginTx();
ResourceIterator<Node> users = tx.findNodes( label, "username", nameToFind ) )
{
Node firstUserNode;
if ( users.hasNext() )
{
firstUserNode = users.next();
}
users.close();
// ... Do stuff with the firstUserNode we found ...
}