我正在运行以下代码来检查是否发生回滚调用。但是,我收到此错误:
Could not rollback transaction org.neo4j.driver.exceptions.ClientException: Can't rollback, transaction has been rolled back
at org.neo4j.driver.internal.util.Futures.blockingGet(Futures.java:143)
at org.neo4j.driver.internal.InternalTransaction.rollback(InternalTransaction.java:46)
是否无法手动回滚事务?
Driver driver = GraphDatabase.driver(neo4jUrl, AuthTokens.basic(neo4jUsername,neo4jPassword));
Session session = driver.session();
Transaction tx = null;
try{
tx = session.beginTransaction();
String insertQuery = "CREATE(n:Person{id:8,name:'Person6',age:26}) ";
tx.run(insertQuery);
String delQuery = "MATCH(n:Person{id:3}) DELETE n";
// String delQuery = "MATCH(n:Person{id:2}) DELETE n";
tx.run(delQuery);
tx.commit();
System.out.println("Trnx committed");
}catch(Exception e){
tx.rollback();
System.out.println("Transaction rolled back.");
} finally {
if (session != null) session.close();
if (driver != null) driver.close();
}
您可以通过
transaction.isOpen()
查看。