In unserem Projekt besteht die Anforderung, die Funktion „JDBC-Timeout“ für Postgres (Postgresql-Treiber) zu unterstützen.
Wir unterstützen auch Microsoft SQL (JTDS-Treiber) und MySQl (MySQL-Treiber). Deshalb möchte ich „loginTimeout“ als gemeinsame Funktion für alle Datenbanken einführen.
Bei der Durchsicht der Dokumentation der Treiber habe ich festgestellt, dass es einen JDBC-Parameter namens „loginTimeout“ gibt, der sowohl von JTDS- als auch von Postgresql-Treibern unterstützt wird, jedoch nicht für Msql
http://jtds.sourceforge.net/faq.html
loginTimeout (Standard: 0 für TCP/IP-Verbindungen oder 20 für Named-Pipe-Verbindungen) Die Zeit (in Sekunden), die auf eine erfolgreiche
Verbindung gewartet werden muss, bevor eine Zeitüberschreitung auftritt. Wenn eine TCP/IP-Verbindung zum
Herstellen einer Verbindung mit der Datenbank verwendet wird und Java 1.4 oder neuer verwendet wird, wird der
loginTimeout-Parameter verwendet, um das anfängliche Verbindungs-Timeout
beim ersten Öffnen eines neuen Sockets festzulegen. Ein Wert von Null (Standard)
führt dazu, dass die Verbindung auf unbestimmte Zeit wartet, z. B. bis eine Verbindung
hergestellt wird oder ein Fehler auftritt. Siehe auch socketTimeout. Wenn eine benannte
Pipe-Verbindung verwendet wird (namedPipe ist wahr) und loginTimeout
größer als Null ist, wird der Wert von loginTimeout für die Länge
des Wiederholungszeitraums verwendet, wenn beim Versuch, eine Verbindung zum Server herzustellen, die Fehlermeldung „Alle Pipe-Instanzen sind ausgelastet“ empfangen werden. Wenn loginTimeout
Null ist (Standardeinstellung), wird ein Wert von 20 Sekunden für den Wiederholungszeitraum der Named Pipe
verwendet.
http://jdbc.postgresql.org/documentatio ... nnect.html
loginTimeout = int Geben Sie an, wie lange Warten Sie auf den Aufbau einer Datenbankverbindung. Der Timeout wird in Sekunden angegeben.
aber für MySQL gibt es nichts wie loginTimeout, sondern
connectTimeout: Timeout für Socket-Verbindung (in Millisekunden), wobei 0
kein Timeout ist. Funktioniert nur mit JDK-1.4 oder neuer. Standardmäßig ist '0'
Meine Frage lautet also: „Was ist der Unterschied zwischen connectTimeout und loginTimeout?“ Haben sie die gleiche Funktionalität?
Jdbc connectTimeout vs. jdbc loginTimeout ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post
Mobile version