Closed abentele closed 8 years ago
Ich habe versucht den Fehler im Kitchensink 2 example wie folgt zu reproduzieren:
Der Fehler tritt so nicht auf.
Vermutung: Die h2 DB verhält sich anders als Oracle
Andreas, könntest du das persistence.xml des Sample2 bei dir so anpassen, dass es auf eine Oracle geht, ich habe die nächsten 2 Wochen nicht die Möglichkeit dazu, und dann Testen ob der Fehler mit der obigen Anleitung und Oracle fehlschlägt?
Kannst du in deiner Applikation gegen einen jo-client-platform snapshot bauen und den SyncJpaDeleterServiceImpl wie folgt modifizieren und prüfen ob das dann das Problem lösen würde:
executorServiceBuilder.setExecutor(new IBeanExecutor<BEAN_TYPE, Void>() { @Override public BEAN_TYPE execute(final BEAN_TYPE data, final Void parameter, final IExecutionCallback executionCallback) { CapServiceToolkit.checkCanceled(executionCallback); interceptor.beforeDelete(data, executionCallback); if (data != null) { EntityManagerProvider.get().remove(data); EntityManagerProvider.get().flush(); } CapServiceToolkit.checkCanceled(executionCallback); return null; } });
Dann würde zumindest nach jedem remove der Session Cache geflusht.
zum Kommentar:
Es ist wahrscheinlich, dass der Fehler tatsächlich durch eigenen Code (im Interceptor) entstanden ist. Ich gehe dem weiter nach.
Hast du eine Idee, was bei dir anders ist?
Von meinem iPhone gesendet
Am 18.01.2016 um 13:06 schrieb Andreas Bentele notifications@github.com:
zum Kommentar:
der Fehler lässt sich mit dem Sample auch unter Oracle nicht reproduzieren das eingefügte flush ist keine Lösung: Fehler tritt auch damit noch auf — Reply to this email directly or view it on GitHub.
Fehler aufgrund flush() im eigenen Interceptor Code. Insofern kein Fehler in jo-cap.
Der Fehler wäre so nicht aufgetreten, wenn die Identities jeweils in Einzel-Transaktionen geladen und gelöscht worden wären. Auf der anderen Seite erwartet der Benutzer vielleicht eher eine Transaktion und nicht mehrere bei einer Aktion.
Von mir aus kann das Ticket also geschlossen werden.
Ok, danke für die Info.
Von meinem iPhone gesendet
Am 18.01.2016 um 14:17 schrieb Andreas Bentele notifications@github.com:
Fehler aufgrund flush() im eigenen Interceptor Code. Insofern kein Fehler in jo-cap.
Der Fehler wäre so nicht aufgetreten, wenn die Identities jeweils in Einzel-Transaktionen geladen und gelöscht worden wären. Auf der anderen Seite erwartet der Benutzer vielleicht eher eine Transaktion und nicht mehrere bei einer Aktion.
Von mir aus kann das Ticket also geschlossen werden.
— Reply to this email directly or view it on GitHub.
folgendes Problem:
dialog: "Deletion failed" with "unknown error" console:
Analyse:
Mögliche Lösungen (Ideen):