Heim > Java > javaLernprogramm > Wie implementiert man ein Datenbankverbindungs-Timeout in Java?

Wie implementiert man ein Datenbankverbindungs-Timeout in Java?

Mary-Kate Olsen
Freigeben: 2024-12-20 03:18:09
Original
496 Leute haben es durchsucht

How to Implement a Database Connection Timeout in Java?

So stellen Sie einen Timer in Java ein

Diese Frage versucht zu verstehen, wie man einen Timer in Java einstellt, insbesondere zum Herstellen einer Datenbankverbindung mit einem Timeout-Limit.

Einen Timer einstellen

Um einen zu erstellen Timer, verwenden Sie die Klasse java.util.Timer:

Timer timer = new Timer();
Nach dem Login kopieren

Für eine einmalige Aufgabe planen Sie sie mit:

timer.schedule(new TimerTask() {
  @Override
  public void run() {
    // Your database code here
  }
}, 2*60*1000); // 2 minutes in milliseconds
Nach dem Login kopieren

Für eine wiederkehrende Aufgabe planen Sie sie mit:

timer.scheduleAtFixedRate(new TimerTask() {
  @Override
  public void run() {
    // Your database code here
  }
}, 2*60*1000, 2*60*1000); // 2 minutes interval
Nach dem Login kopieren

Timeout für Datenbankverbindung

Um die Timeout-Funktionalität zu implementieren, verwenden Sie eine ExecutorService:

ExecutorService service = Executors.newSingleThreadExecutor();

try {
    Runnable r = new Runnable() {
        @Override
        public void run() {
            // Database task
        }
    };

    Future<?> f = service.submit(r);

    f.get(2, TimeUnit.MINUTES); // Attempt task for 2 minutes
} catch (TimeoutException e) {
    // Task timed out
} finally {
    service.shutdown();
}
Nach dem Login kopieren

Wenn die Datenbankverbindung innerhalb von 2 Minuten erfolgreich ist oder fehlschlägt, wird die Aufgabe normal ausgeführt. Andernfalls wird eine TimeoutException ausgelöst. Die Aufgabe wird jedoch weiterhin im Hintergrund ausgeführt. Beachten Sie dies.

Das obige ist der detaillierte Inhalt vonWie implementiert man ein Datenbankverbindungs-Timeout in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage