Vérifications de connectivité limitées dans le temps en Java
L'objectif est d'établir une minuterie qui, si la connexion à une base de données échoue dans un délai spécifié fenêtre, lance une exception.
Configuration de la minuterie
Pour lancer une minuterie en Java :
import java.util.Timer; ... Timer timer = new Timer();
Pour une tâche ponctuelle :
timer.schedule(new TimerTask() { @Override public void run() { // Database connection code } }, 2*60*1000);
Pour une tâche qui se répète périodiquement :
timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { // Database connection code } }, 2*60*1000, 2*60*1000);
Time- Exécution limitée
Pour limiter l'exécution d'une tâche à un domaine spécifique délai :
ExecutorService service = Executors.newSingleThreadExecutor(); try { Runnable r = new Runnable() { @Override public void run() { // Database connection task } }; Future<?> f = service.submit(r); f.get(2, TimeUnit.MINUTES); // Attempt the task for two minutes } catch (InterruptedException) { // Interrupted while waiting } catch (TimeoutException) { // Took longer than two minutes } catch (ExecutionException) { // Exception within the task } finally { service.shutdown(); }
Cette approche garantit que la tâche se terminera avec succès ou générera une exception en raison du dépassement du délai. Notez que la tâche continuera à s'exécuter après le délai imparti, mais elle finira par se terminer en raison d'un délai de connexion ou d'expiration du réseau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!