Neo4j-jdbc只创建了10个节点

时间:2014-06-17 11:42:27

标签: 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)
    {          
        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;
}

1 个答案:

答案 0 :(得分:2)

只是一个猜测,但是没有明确关闭结果集,是否有某个地方被限制为10?尝试在rs.close()子句后添加else,看看是否有所作为。

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