Beim schließen des Programms die verbindung zur DB beenden.

Zakon

Bekanntes Mitglied
Hallo an alle :)

Ich verbinde gerade meine H2 Datenbank über Intellij mit Javafx und Scene Builder.

Es funktioniert auch soweit alles nur habe ich das Problem,dass ich die Verbidung zur Datenbank nach jeder Ausführung eines Befehls einmal herstelle und wieder beende. Ich möchte aber, dass sich die Verbidnung nur beendet wenn ich da Programm beende. Habe dazu ShutdownHooks gefunden nur in denen nicht meine Connection benutzen kann weil der Shutodwn Hook ja eine inner Class ist.

Danke im Vorraus für eure Hilfe.
Und bitte erstmal nur einen kurzen Denkanstoß ich möchte da noch ein wenig selber probieren :)
 

httpdigest

Top Contributor
Wenn dein Prozess beendet wird, dann wird auch die darunterliegende TCP/IP Verbindung zur Datenbank gekappt.
Du brauchst hier also nichts weiter zu tun.
 

Zakon

Bekanntes Mitglied
Wenn dein Prozess beendet wird, dann wird auch die darunterliegende TCP/IP Verbindung zur Datenbank gekappt.
Du brauchst hier also nichts weiter tun.
Das ist glaube ich nicht so der Fall, da ich das Porblem gestern noch hatte, dass wenn ich keine .close() im code hatte ich irgenwann eine Connection=null Exception bekommen habe weil ich keine Platz mehr hatte um eine Connection aufzubauen 🤔
 
K

kneitzel

Gast
Also was genau ist das Problem, weshalb Du die Connection nicht schließen willst?

Wenn Du die Connection auf hältst, dann musst Du die geöffnete Connection natürlich irgendwo behalten und immer wieder verwenden.

Aber dann bitte darauf achten, dass Du die eine Connection nicht mehrfach aus mehreren Threads heraus nutzt. Ggf. aufpassen, dass da die Connection nicht auf ein Timeout läuft und so ...

Aber da gibt es dann eine tolle Lösung: Connection Pooling. Oft haben das die Treiber selbst mit drin. Das heisst: Du nutzt einfach die Connections wie gehabt und schließt diese. Dabei geht die Connection zurück in den Pool und wird in Wirklichkeit gar nicht geschlossen...

Bei H2 gibt es das auch, aber da muss man es direkt ansprechen: http://www.h2database.com/html/tutorial.html#connection_pool zeigt auch die Nutzung eine Connection Pools.

Aber wie gesagt: Wo ist das Problem, die Verbindung nach Nutzung einfach direkt zu schließen? Warum willst Du das nicht?
 

Zakon

Bekanntes Mitglied
Also was genau ist das Problem, weshalb Du die Connection nicht schließen willst?

Wenn Du die Connection auf hältst, dann musst Du die geöffnete Connection natürlich irgendwo behalten und immer wieder verwenden.

Aber dann bitte darauf achten, dass Du die eine Connection nicht mehrfach aus mehreren Threads heraus nutzt. Ggf. aufpassen, dass da die Connection nicht auf ein Timeout läuft und so ...

Aber da gibt es dann eine tolle Lösung: Connection Pooling. Oft haben das die Treiber selbst mit drin. Das heisst: Du nutzt einfach die Connections wie gehabt und schließt diese. Dabei geht die Connection zurück in den Pool und wird in Wirklichkeit gar nicht geschlossen...

Bei H2 gibt es das auch, aber da muss man es direkt ansprechen: http://www.h2database.com/html/tutorial.html#connection_pool zeigt auch die Nutzung eine Connection Pools.

Aber wie gesagt: Wo ist das Problem, die Verbindung nach Nutzung einfach direkt zu schließen? Warum willst Du das nicht?
Habe gelesen das es diese beiden Möglichkeiten gibt und wolllte das ganze einfach mal ausprobieren. Hat sich für mich logischer angehört wenn man dann mal irgendwann viele Leute und große daten hat 🤔
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kirby.exe Verwirrung beim Query Datenbankprogrammierung 4
C Oracle Fehler beim list.add() Datenbankprogrammierung 5
L MySQL Bekomme einen Fehler beim ResultSet Datenbankprogrammierung 12
H Brauche Hilfe beim Mappen von 3 Tabellen a 1:n mit hbm.xml. Datenbankprogrammierung 34
J Java Eclipse Hilfe beim Programmieren Datenbankprogrammierung 7
B JPA->fehler beim Insert in die Datenbank Datenbankprogrammierung 3
V Fehler beim Generierung Fehler beim Generierung java.lang.ArrayIndexOutOfBoundsException: 0 Datenbankprogrammierung 12
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
S Hibernate-Konfiguration : Unverständliche Ausgabe beim Ausführen Datenbankprogrammierung 0
ruutaiokwu sql server werte swappen beim update-vorgang mit unique-constraints..? Datenbankprogrammierung 2
C H2 Syntax fehler beim erstellen einer Tabelle Datenbankprogrammierung 4
M MySQL probleme beim "Generate Tables from Entities" Datenbankprogrammierung 9
T MySQL Multithreading beim Datenbankzugriff Datenbankprogrammierung 3
T Fehler beim ausgeben von Tabellen Inhalt Datenbankprogrammierung 9
J Datentyp der Spalte beim Datenbankdesign unbekannt Datenbankprogrammierung 12
S Derby/JavaDB Probleme beim anlegen einer embedded DB Datenbankprogrammierung 13
W No data found: SQL-Abfrage funktioniert nur beim Debuggen Datenbankprogrammierung 3
N HSQLDB Problem beim Treiberladen im Jar Datenbankprogrammierung 6
M Problem beim Erstellen einer Query Datenbankprogrammierung 7
M Datenbankverbindung zu langsam beim Insert? Datenbankprogrammierung 6
Paristick MSSQL - JDBC Exception beim Registrieren Datenbankprogrammierung 5
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9
S Problem beim Anlegen einer Tabelle Datenbankprogrammierung 5
L Derby/JavaDB Fehler beim Erstellen einer Tabelle Datenbankprogrammierung 2
T Problem beim schreiben von daten Datenbankprogrammierung 4
S MySQL generelles vorgehen beim connect zu entfernter datenbank Datenbankprogrammierung 3
A Derby/JavaDB Probleme beim Einbinden Datenbankprogrammierung 2
L CLOB-Daten werden beim Einfügen in die Datenbank geändert? Datenbankprogrammierung 5
J MySQL Hibernate: Probleme beim Speichern von OneToMany - Datensätzen Datenbankprogrammierung 2
X Vector Verhalten beim DataModel seltsam Datenbankprogrammierung 6
D MySQL Problem beim einfügen von Double-Zahlen Datenbankprogrammierung 4
U MSSQL Verbindung steht, aber meckert beim Statement Datenbankprogrammierung 2
N Probleme beim Aufruf aus der DB Datenbankprogrammierung 7
cosmic Problem beim Update einer Oracle DB Datenbankprogrammierung 7
T Problem beim Update in die Access DB Datenbankprogrammierung 9
F SQLException fangen beim verbinden mit Hibernate Datenbankprogrammierung 17
M Problem beim Importieren einer Datenbank Datenbankprogrammierung 3
C Datenumwandlungsfehler beim Umwandeln Datenbankprogrammierung 4
S Fehler beim Auslesen von Daten Datenbankprogrammierung 6
V Probleme beim Öffnen "einiger" SuperbaseTabellen p Datenbankprogrammierung 8
G Probleme beim Methodenaufruf einer EJB Datenbankprogrammierung 10
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
V Fehlermeldung beim Insert Datenbankprogrammierung 16
G beim lesen der db alte daten bekommen? Datenbankprogrammierung 5
A Problem beim Laden des Treibers Datenbankprogrammierung 5
A Fehler beim Starten des Servers für H2 Database Datenbankprogrammierung 13
A Probleme beim Schreiben in eine CSV-Datei aus einer H2-DB Datenbankprogrammierung 2
G Problem beim einfügen in der Datenbank Datenbankprogrammierung 4
G Problem beim Schreiben eines Dateipfads in MySQL-DB Datenbankprogrammierung 9
J OutOfMemory beim Clob Datenbankprogrammierung 5
D An Access Datenbank andocken ohne sie beim System anzumelden Datenbankprogrammierung 3
M "SQL - Apache" Problem beim laden des Applets Datenbankprogrammierung 4
J Fehlermeldung beim ausführeren dieses Befehles Datenbankprogrammierung 5
G Fehler beim Verbinden Datenbankprogrammierung 4
D Problem beim Zugriff auf eine Oracle-DB Datenbankprogrammierung 23
A Datenbankzugriff per Applet - Problem beim Treiber laden Datenbankprogrammierung 6
E Problem beim laden des JDBC Driver bzw der Database Datenbankprogrammierung 8
M Daten von MySQL nach MSSql probleme beim schreiben Datenbankprogrammierung 3
S JDBC-Anfänger und Probleme beim Treiberfinden etc. Datenbankprogrammierung 4
T Probleme beim Verbindungsaufbau zum SQL 2000 Datenbankprogrammierung 2
P Wie Usernamen beim Einloggen für Combobox übernehmen?HELP Datenbankprogrammierung 2
N Fehler beim matchen von Strings via Query Datenbankprogrammierung 2
K MsAccess immer beim zweiten Update java.sql.SQLException Datenbankprogrammierung 28
T Problem beim Update vom Resultset + Firebird Datenbankprogrammierung 2
R JDBC: Resultset beim Thema MEZ&MESZ Datenbankprogrammierung 12
J Fehler beim PreparedStatement Datenbankprogrammierung 2
P Fehlermeldung beim Erstellen einer neuen Tabelle Datenbankprogrammierung 2
M Problem beim erstellen der DB Datenbankprogrammierung 3
G Problem beim Zugriff SQL 2000 Datenbankprogrammierung 2
6 Hilfe beim Einstieg Datenbankprogrammierung 15
A ClassNotFoundException beim Laden des Oracle-JDBC-Treibers Datenbankprogrammierung 10
A Fehler beim Verbinden zur Oracle-DB Datenbankprogrammierung 6
G Rundungsfehler beim Lesen von Fliesskommazahlen... Datenbankprogrammierung 2
K Problem beim Einlesen von Werten aus einem Textfeld Datenbankprogrammierung 11
V Exception beim Speichern von eingegebenen Daten in Tabelle Datenbankprogrammierung 2
W Fehlermeldung beim Ändern einer jdbTable Datenbankprogrammierung 5
G Fehlermeldung beim Zugriff auf SQL-Server-DB Datenbankprogrammierung 3
E Problem beim Datenbank-Design (relational) Datenbankprogrammierung 10
P Reicht finally nicht um DB connections zu schließen in (altem) Java? Datenbankprogrammierung 4
T SQL-Statement Datenbank nach SQL Statement schließen? Datenbankprogrammierung 7
M H2 Verbindung zur Datenbank komplett schließen Datenbankprogrammierung 11
D Resultset schließen ?? Datenbankprogrammierung 5
H EclipseLink: Schließen der Datenbank Datenbankprogrammierung 0
m²labs Muss ich wirklich bei jeder Anfrage öffnen/schließen? Datenbankprogrammierung 3
A Datenbank schließen Datenbankprogrammierung 8
E MySQL SQL - wann connection schließen Datenbankprogrammierung 2
Helgon H2 Verbindung öffnen/schließen - Dauer, wann, wie lange? Datenbankprogrammierung 2
X Connection schließen oder speichern? Performance Frage Datenbankprogrammierung 7
ARadauer JDBC ResultSet schließen? Datenbankprogrammierung 4
F statements und resultsets schließen Datenbankprogrammierung 2
P DBCP: Verbindungen schließen: ja oder nein? Datenbankprogrammierung 9
T ResultSet schließen? Datenbankprogrammierung 6
Z Jedesmal die Datenbank öffnen und schließen ? Datenbankprogrammierung 9
K db connection wann schließen Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben