#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)
{
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:
Просто предположение, но есть ли где-то ограничение в 10, если не закрывать явно результирующие наборы? Попробуйте добавить rs.close()
после вашего else
предложения и посмотрите, имеет ли это значение.
Если это сработает, вы можете использовать его в блоке try-finally для надежности.
Комментарии:
1. Это сработало как шарм. Большое вам спасибо. Я завершу попытку с ресурсами.
2. Да, попытка с ресурсами была бы лучшей. Кстати, не стесняйтесь отмечать мой ответ как принятый 😉