Ich habe eine Neo4j Extension erstellt. Es enthält meine eigene TransactionEventHandler
. Manchmal führt die Ausführung des Verfahrens beforeCommit()
zu UniquePropertyConstraintViolationKernelException
. Es ist in Ordnung. Aber auf der Serverseite erhalte ich ResultProcessingException
. Diese Ausnahme sieht zu verallgemeinert aus. Ich denke, es kann aus vielen Gründen geworfen werden, nicht nur im Falle einer Constraint-Verletzung. Meine Frage ist also, wie ich mit Constraint-Verletzungen auf der Server-Seite umgehen soll? Ich benutze SDN4.Wie wird Unique-Constraint-Verletzung in SDN4 richtig behandelt?
Edit 1: Alle Neo4j-ogm- * Versionen 2.0.3
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-ogm-core</artifactId>
<version>2.0.3</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-ogm-http-driver</artifactId>
<version>2.0.3</version>
</dependency>
</dependencies>
</dependencyManagement>
aktualisiert
Ja, es ist wahr. Nach der Aktualisierung von SDN auf 4.1.1 erhalte ich CypherException. Beschreibung enthält eine Nachricht wie folgt: "TransactionFailureException: Fehler beim Ausführen von Cypher Transaction.CouldNotCommit". Aber es ist mir immer noch unklar, wie ich die Art des Problems verstehen kann. Innerhalb der TransactionEventHandler.beforeCommit() erhalte ich 'ConstraintViolationException' mit einer eindeutigen Beschreibung. Aber auf der Serverseite kann ich nichts darüber sehen. –
Bearbeitete meine Antwort – Luanne
Danke! Eine solche Konfiguration verursacht jedoch ein anderes Problem. Ich habe die Versionen von 'neo4j-ogm-core' und' neo4j-ogm-http-driver' ersetzt, wie Sie gesagt haben. Und wenn ich versuche 'neo4jOperations.query (" CREATE CONSTRAINT ON (n: Ereignis) ASSERT n.uniqueId IST UNIQUE ", Collections.emptyMap());' Ich empfange "NoSuchMethodError" mit der folgenden Beschreibung: "HttpClientBuilder.setSSLContext (SSLContext) ". Es hat vorher funktioniert. –