Exemple Automate déclenché par SQL
Sommaire |
Dans cet exemple nous allons déclencher un automate par une simple requête SQL.
Le principe est le suivant :
- Un automate est déclenché par un évènement file d'attente de type base de donnée.
- La file d'attente est configurée pour conserver les messages sur acquitement.
- Un message initial dans l'état Traité est créé
- L'automate est déclenché en modifiant l'état du message à "Prêt".
Définition de la file d'attente
La file d'attente peut être définie sur une classe de stéréotype file d'attente de l'application métier, mais pour simplifier nous utiliserons la classe générique 'TdbmStoredQueueMessage' qui est pré-définie dans le référentiel.
Les champs importants sont :
- Sujet
- Indiquer un sujet unique qui sera utilisé pour déclencher votre automate
- Action sur succès
- Sélectionner 'Conserver le message' de sorte que le message ne soit pas supprimer après déclenchement.
Définition de l'automate
Définisez un évènement 'File d'attente' sur la file d'attente que vous avez précédemment créée.
Puis utilisez cet évènement comme évènement déclencheur de votre automate.
Création du message
Pour créer le message utilisez l'exploreur d'objet.
Déclenchement de l'automate
Pour déclencher l'automate exécutez la requête suivante :
update TDBMSTOREDQUEUEMESSAGE set queueState=0 where queueTopic='DoMyTask'
Cette requête passe le message dans l'état "Prêt" ce qui déclenchera l'automate à la prochaine exécution de sa boucle, une fois déclenché l'état du message est automatiquement repositionné à "Traité"