Java REST-Service: GET erkennt Veränderungen an der DB nicht.

FaKer

Cadet 4th Year
Registriert
Jan. 2004
Beiträge
100
Hallo zusammen,

ich habe einen REST-Service mit Netbeans erstellt der auf eine Datenbank zugreift.
Bis vor zwei Tagen lief auch noch alles. Nun plötzlich aber nichtmehr, und ich weiß ehrlich gesagt nicht wieso, da ich an dem Service in der Zeit nichts verändert habe...

Das Problem ist folgendes:

Verstell ich in der DB einen Paramter von Hand, setze z.B. einen Wert von 0 auf 1 und führe dann ein HTTP GET aus, wird mir der Wert vor der Umstellung zurückgeliefert (also die 0). Wenn ich diesen Parameter mittels HTTP PUT verändere (von 0 auf 1), sehe ich in der DB dass der Wert geändert wurde (auf 1). Und wenn ich dann ein HTTP GET ausführe bekomme ich auch den neuen Wert angezeigt (1)...

Vor zwei Tagen hatte ich noch meinen Client getestet indem ich Werte in der DB umgestellt habe, um zu testen, ob ein automatisches Update der Daten auf dem Client funktioniert. Seitdem habe ich nur noch Veränderungen an dem Client durchgeführt, den REST-Service aber links liegen gelassen...

Ich bin grad total am verzweifeln... vielleicht weiß von Euch ja jemand weiter.

Vielen Dank!
 
Wenn ich mich recht erinnere, benutzt du ja JPA für den Datenbankzugriff. Ich vermute mal, dass da irgendwo ein Cache existiert, in dem die Werte zwischengespeichert werden. Im Grunde kann deine Java-Anwendung ja nicht wissen, dass da in der Datenbank etwas geändert wurde, wenn du es direkt auf die DB anwendest.
Du wirst also manuell den Query-Cache leeren müssen oder evtl. Caching ganz deaktivieren müssen.
 
Hi cx01,

ja genau, benutze JPA. Das war auch meine Vermutung, dass das iwas mit Caching zu tun hat. Trotzdem verwunderlich, dass das vor paar Tagen noch lief.

Ich habe die GET-Funktion mal über den Debugger verfolgt. Es wird iwann eine Datenbank Query erzeugt, dass die Informationen aus der DB beziehen sollte. Aber das iwarum nicht macht...

Werd mal nach Caching im Zusammenhang mit JPA googeln.. dank Dir!
Ergänzung ()

Guter Riecher:

<shared-cache-mode>NONE</shared-cache-mode>

hat das Problem gelöst!
 

Ähnliche Themen

Zurück
Oben