Code

Un gestionnaire d'événement de flux de travaux est fourni avec Cúram et est automatiquement enregistré pour écouter les événements lancés dans l'application. Plusieurs attentes d'événements peuvent être enregistrées pour une instance d'activité particulière dans un processus de flux de travaux. Si l'indicateur waitOnAllEvents est défini sur false pour les données d'attente d'événement spécifiées, seule une de ces attentes d'événements doit correspondre pour compléter cette instance d'activité. Le gestionnaire d'événements de flux de travaux traitera cet événement en complétant l'instance d'activité indiquée et en faisant avancer le processus en commençant par le prochain ensemble d'activités dans le processus. Tous les autres enregistrements d'attente d'événement non sauvegardés pour l'instance d'activité complète sont supprimés. Si les mappages de sortie (voir Mappages de sortie) ont été indiqués pour l'attente d'événement, ils seront conservés par le moteur de flux de travaux et peuvent être utilisés dans des activités et des transitions sous-jacentes du processus.

Lorsque l'option waitOnAllEvents est définie sur true, toutes les attentes d'événements indiquées de l'instance d'activité doivent correspondre en fonction des événements émis pour compléter l'activité et faire progresser le flux de travaux. Pour chaque événement émis qui correspond à une attente d'événement associée pour l'instance d'activité, le gestionnaire d'événements de flux de travaux va traiter l'événement en supprimant l'enregistrement d'attente d'événement associé et en conservant les mappages de sortie (voir Mappages de sortie) spécifiées pour l'attente d'événement. Le traitement se poursuit jusqu'à ce que l'ensemble des attentes d'événement associées correspondent en fonction des événements émis. C'est seulement à ce moment que le gestionnaire d'événements de flux de travaux va terminer l'instance d'activité indiquée et faire avancer le processus avancer en faisant avancer le processus en commençant par le prochain ensemble d'activités dans le processus.