[JAVA] Figer exécution en attente de requête

Résolu/Fermé
Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 - 24 sept. 2007 à 23:16
Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 - 19 oct. 2007 à 22:38
Bonjour à toutes et tous,

En Java je travaille sur une application graphique (swing) qui fait essentiellement des accès en base de données (lectures mais surtout insertions et mises à jour).

Les accès à cette DB sont généralement rapides mais parfois (si le serveur est distant ou occupé) beaucoup moins, de sorte que l'application continue à accepter des opérations de drag & drop (pour ne citer que ça). Avec donc le risque que l'utilisateur fasse des opérations illégales ou refasse plusieurs fois la même opération parce qu'il croit que la première tentative à échoué.

Il parraît que c'est un comportement normal puisque les événements sont toujours gérés en multi threads. Pourtant j'aimerais pouvoir interdir toute opération (exemple : l'activation d'un sablier indiquant une attente du système) tant que le serveur de bases de données n'a pas répondu.

(En VB je me souviens vaguement qu'on peut faire une chose similaire en testant l' "état" du SGBD dans une boucle, boucle qui "fige" l'exécution puisqu'elle monopolise tout jusqu'à ce que le serveur n'a pas fourni l'état "requête traitée").

Avez-vous une suggestion pour mon cas ? Déjà merci. ;-)
A voir également:

1 réponse

Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 225
19 oct. 2007 à 22:38
Re,

Je crois en fait que je me suis trompé de problème même s'il est plus ou moins correctement exposé. Ca peut se résoudre en appelant une fenêtre modale avant de lancer la longue opération et de faire disparaitre cette fenêtre (donc "rendre la main") après... ça a l'air de résoudre le problème et avec l'utilisation de la classe SwingWorker on peut aller plus loin dans la convivialité.
1