Hallo,
ich habe eine Frage:
ich habe ein Backend (läuft in der App Engine mit Cloud SQL), dass Anfragen vom Frontend entgegen nimmt und entsprechend SQL-Queries absetzt. Ich habe das ganze so implementiert, dass ich ein Singelton Objekt habe, dass einmal im Konstruktor eine Connection zur Datenbank hergestellt wird (DriverManager.getConnection("...")).
Wann immer eine Anfrage an die Datenbank gestellt werden soll, wird diese Connection verwendet. Nun habe ich das Problem, dass wenn eine Weile keine query abgesetzt wird, die Connection ungültig wird (SQLUnknownConnectionIdException). Ich umgehe dass problem nun so, dass ich diese Exception abfange, die Connection schließe und neue aufbaue. Das funktioniert soweit auch.
Die Frage nun: Ist das eine gute Lösung des Problems? Wie wird das normalerweise gehandhabt? Sollte man die Connection nach jeder Query schließen? -> Wahrscheinlich nicht, da das aufbauen der Connection wahrscheinlich lange dauert?
Viele Grüße
equin
ich habe eine Frage:
ich habe ein Backend (läuft in der App Engine mit Cloud SQL), dass Anfragen vom Frontend entgegen nimmt und entsprechend SQL-Queries absetzt. Ich habe das ganze so implementiert, dass ich ein Singelton Objekt habe, dass einmal im Konstruktor eine Connection zur Datenbank hergestellt wird (DriverManager.getConnection("...")).
Wann immer eine Anfrage an die Datenbank gestellt werden soll, wird diese Connection verwendet. Nun habe ich das Problem, dass wenn eine Weile keine query abgesetzt wird, die Connection ungültig wird (SQLUnknownConnectionIdException). Ich umgehe dass problem nun so, dass ich diese Exception abfange, die Connection schließe und neue aufbaue. Das funktioniert soweit auch.
Die Frage nun: Ist das eine gute Lösung des Problems? Wie wird das normalerweise gehandhabt? Sollte man die Connection nach jeder Query schließen? -> Wahrscheinlich nicht, da das aufbauen der Connection wahrscheinlich lange dauert?
Viele Grüße
equin