2013-10-25 5 views
0

Я использую Neo4j 1.9.4 в режиме EmbeddedDatabase и отлаживаю создание узлов под NetBeans 7.4.Neo4J создает отношения зависает на EmbeddedDatabase

Следующий код, однако, зависает при создании линии отношений, при этом не возвращается ошибка, но отладка заканчивается в этой строке, никаких предупреждений или ошибок в консоли NetBeans.

У меня нет способа отладки или понимания того, что происходит, потому что ничего не происходит.

Transaction tx = graphDb.beginTx(); 
try 
{ 
    Node newNode = graphDb.createNode(); 
    newNode.setProperty("name", name); 
    newNode.createRelationshipTo(parentNode, RelTypes.CHILD_OF); 
    tx.success(); 
} 
catch (Exception e) 
{ 
    e.printStackTrace(); 
} 

Конечно, newNode и parentNode являются допустимыми узлами, поэтому RelTypes.CHILD_OF.

Любое понимание?

ответ

1

Необходимо выполнить транзакцию.

Transaction tx = graphDb.beginTx(); 
try { 
    Node newNode = graphDb.createNode(); 
    newNode.setProperty("name", name); 
    newNode.createRelationshipTo(parentNode, RelTypes.CHILD_OF); 
    tx.success(); 
} catch (Exception e) { 
    e.printStackTrace(); 
    tx.failure(); 
} finally { 
    tx.finish(); 
} 
+0

Возможно, вы можете опустить часть 'catch'. В этом случае транзакция будет откатна, и исключение пузырится вверх по стеку. –

+0

Правильно, я просто приводил пример, который часто упоминается в большинстве документации. – Nicholas

+0

добавил финиш и то же поведение, без улова уже пробовал и такое же поведение. Каждый раз каждые 3 или 4 раза это происходит без проблем. :( –

Смежные вопросы