Listeners
Concept
Listeners zijn scripts of expressies die getriggerd worden bij de opstart of het einde van een element in de workflow (zoals een taak). Je kan ze gebruiken om extra handelingen uit te voeren binnen de context van het element (denk bijvoorbeeld aan het uitrekenen van inputvariabelen of aan het wegschrijven van de uitkomst van de taak naar een specifiek formulier). Hou er rekening mee dat listeners geen deel uitmaken van de visuele workflowdefinitie (geen apart element), en dus niet onmiddellijk zichtbaar zijn voor een business owner. Listeners hebben een onopvallend en discreet karakter. Ze voeren noodzakelijke opdrachten uit, maar blijven daarbij op de achtergrond. Zo blijft de BPMN-workflow zelf leesbaar.
Doorgaans zijn listeners het best geplaatst op taakelementen, omdat ze acties uitvoeren bij wijze van voorbereiding of nazorg op taken. Plaats ze nooit op elementen waar ze geen direct verband mee hebben, zoals bijvoorbeeld een sequence flow element.
Listeners zijn blokkerend voor de workflow. Als een script of expressie op een error botst, leidt dit tot een onmiddellijke onderbreking van de workflow uitvoering. Het proces gaat dan in incident status.
Listener aanmaken
Binnen de workfow editor selecteer je het element waar je de listener wil toevoegen. Ga in het eigenschappen panel rechts naar het tabblad Geavanceerd.
Selecteer nu het tabblad Listeners.
Klik rechts boven het venster Execution listener op het + icoon. Je hebt nu een listener aangemaakt. De volgende stap is om die te configureren.
Listener configureren
Eigenschap | Beschrijving |
---|---|
Event type |
|
Listener type |
|
Java Class | Verdere documentatie volgt |
Expression | Hier kan je de expressie definiëren. |
Script |
|
Field injection | Bijkomend specifieke variabelen die nog niet voorhanden zijn, kan je die hier aanmaken. Gebruik daarbij het + icoon rechts boven het Fields venster.
Een aangemaakte variabele kan je terug verwijderen via het x icoon rechts boven het Fields venster. |
Listener verwijderen
Selecteer in het venster Execution listener de listener die je wil verwijderen. Klik rechts boven het venster op het x icoon. De listener is nu verwijderd uit de lijst.
Task listener
Een task listener is een bijzondere vorm van een workflow listener. Je kan deze enkel definiëren op een gebruikerstaak.