Bonjour à tous,

Étant étudiant en alternance, il me manque un peu d'expérience sur certaines architectures...
Je sollicite donc votre aide.

Mon problème :

Nous avons une application lourde en java.
Cette application est critique car au delà de la sauvegarde des données dans une base de données, elle effectue des traitements dans notre usine : qualification et disqualification de process.

En choisissant 3 critères, nous créons une table temporaire via d'autres tables.
Ensuite il est possible de faire des updates, delete sur d'autres tables par rapport aux données qui sont dans cette table temporaire.

Cependant, il est possible que deux personnes se connectent simultanément sur les 3 mêmes critères (sinon ça ne pose pas de problème).
Dans ce cas là, si 2 updates, deletes ou ajout d'informations cela nous posent des problèmes d'intégrités (pas de problème coté usine).

On voudrait, en fait, juste bloquer l'accès lorsqu'une personne essaie de se connecter à l'application avec les 3 mêmes critères qu'une autre personne déja connectée.

On a pensé à faire un flag en DB : lorsqu'une personne se connecte on met les 3 criteres a false, et lorsqu'elle se deconnecte on remet à true.
Mais ça risque de poser une problème si par exemple, cette personne se loggue et éteint brutalement son ordi sans passer par la case delogging.

Peut être est possible uniquement en utilisant l'isolation des données fourni par JDBC, mais je ne suis pas très sur de moi...

Avez vous des solutions à proposer ?

Cordialement,
Nicolas