Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Neo4jJDBC仅在创建10个节点时挂起_Java_Neo4j - Fatal编程技术网

Java Neo4jJDBC仅在创建10个节点时挂起

Java Neo4jJDBC仅在创建10个节点时挂起,java,neo4j,Java,Neo4j,我的用例是在远程neo4j中创建节点。 java代码试图创建22个节点,但在第11个节点,它挂起执行查询 顺便说一下,我使用desci字段来放置节点键值描述,以便稍后对其进行反序列化。T是具有getMap函数的通用对象 public Long[] put(T[] a) throws SQLException,BiopolisGeneralException { Long[] ids=new Long[a.length]; int index=0; for(T x : a

我的用例是在远程neo4j中创建节点。 java代码试图创建22个节点,但在第11个节点,它挂起执行查询

顺便说一下,我使用desci字段来放置节点键值描述,以便稍后对其进行反序列化。T是具有getMap函数的通用对象

public Long[] put(T[] a)  throws SQLException,BiopolisGeneralException
{
    Long[] ids=new Long[a.length];
    int index=0;
    for(T x : a)
    {          
        System.out.println(index+"  count  "+a.length);
        String json=(new Gson()).toJson(x);
        System.out.println(json);
        Map<String,Object> map=x.getMap();            
        String desci=Base64.encodeBase64String(json.getBytes());
        map.put("desci",desci);
        String queryString=" CREATE (n:"+this.nodetype+
                " {1} )  RETURN ID(n)";
        Map<String,Object> mm=new HashMap<String,Object>();
        mm.put("1", map);
        ResultSet rs=this.bgr.conn.executeQuery(queryString, mm);
        if(!rs.next())
        {                
            throw new BiopolisGeneralException("Cannot create "+json);
        }
        else
        {
            Long id=rs.getLong(1);
            System.out.println(id);
            ids[index++]=id;
        }
        System.out.println("do");
    }
    System.out.println("ok");
    return ids;
}
public Long[]put(T[]a)抛出SQLException、BiopolisGeneralException
{
Long[]ids=新的Long[a.length];
int指数=0;
对于(T x:a)
{          
系统输出打印项次(索引+计数+长度);
字符串json=(new Gson()).toJson(x);
System.out.println(json);
Map Map=x.getMap();
String desci=Base64.encodeBase64String(json.getBytes());
地图放置(“描述”,描述);
String queryString=“创建(n):+this.nodetype+
“{1})返回ID(n)”;
Map mm=新的HashMap();
mm.放置(“1”,地图);
结果集rs=this.bgr.conn.executeQuery(queryString,mm);
如果(!rs.next())
{                
抛出新的BiopolisGeneralException(“无法创建”+json);
}
其他的
{
Long id=rs.getLong(1);
系统输出打印项次(id);
id[index++]=id;
}
System.out.println(“do”);
}
System.out.println(“ok”);
返回ID;
}

只是一个猜测,但如果不明确关闭结果集,是否会达到10的限制?尝试在
else
子句之后添加
rs.close()
,看看这是否有区别


如果它确实有效,您可能希望在try-finally块中使用它,以增强健壮性。

它的效果非常好。非常感谢你。我会用资源来包装它。是的,用资源来尝试是最好的。顺便说一句,请随意标记我的答案为已接受;-)