Je ne suis pas très familier avec les bases de données et ce qu'elles offrent en dehors des opérations CRUD.
Mes recherches m'ont amené à déclencheurs . En gros, il semble que les déclencheurs offrent ce type de fonctionnalité :
(de Wikipedia )
Il y a généralement trois événements déclencheurs qui font que les déclencheurs se "déclenchent" :
- événement INSERT (lors de l'insertion d'un nouvel enregistrement dans la base de données).
- Événement UPDATE (lorsqu'un enregistrement est modifié).
- Événement DELETE (lors de la suppression d'un enregistrement).
Ma question est la suivante : existe-t-il un moyen d'être notifié en Java (de préférence avec les données qui ont changé) par la base de données lorsqu'un enregistrement est mis à jour/supprimé/inséré en utilisant une sorte de sémantique de déclenchement ?
Quelles pourraient être les solutions alternatives à ce problème ? Comment puis-je écouter les événements de la base de données ?
La raison principale pour laquelle je veux faire cela est un scénario comme celui-ci :
J'ai 5 applications client, toutes dans des processus différents/existant sur différents PC. Elles partagent toutes une base de données commune (Postgres dans ce cas).
Disons qu'un client modifie un enregistrement dans la base de données qui intéresse les cinq autres clients. J'essaie de trouver des moyens pour que les clients soient "notifiés" de la modification (de préférence avec les données concernées en pièce jointe) au lieu qu'ils demandent les données à un certain intervalle.