May 19, 2013

Προσοχή με την επιλογή "Renew after" σε ένα human task

Μια χρήσιμη επιλογή στην κατασκευή ενός human task για το Oracle SOA Suite, είναι αυτή της αυτόματης ανανέωσης (renew) μιας ειδοποίησης μετά από ένα δεδομένο χρονικό διάστημα, με έναν μέγιστο αριθμό επιτρεπόμενων ανανεώσεων.
Μια περίεργη συμπεριφορά που παρατηρήθηκε στο έργο που συμμετέχω (βασισμένο στο Oracle SOA/BPM Suite 11.1.1.6.3) είναι η εξής: σε περίπτωση που το composite instance στο οποίο ανήκει το human task τερματίζεται (terminate/abort) από τον Enterprise Manager και η εκτέλεση βρίσκεται στο δεδομένο human task, εξακολουθούν να στέλνονται ειδοποιήσεις (task notifications) σύμφωνα με τον προδιαγεγραμμένο μηχανισμό των αυτόματων ανανεώσεων. Με άλλα λόγια, ο τερματισμός του instance, δεν οδηγεί στο τερματισμό των επανα-προσπαθειών των task renewals, κάτι που οδηγεί σε σύγχυση όταν για παράδειγμα στέλνονται mail notifications για ένα ολοκληρωμένο instance. Σε κάθε περίπτωση, είναι προτιμότερο να γίνεται χρήση του expiration μηχανισμού του human task.ώστε να επιτυγχάνεται ένα σενάριο επαναλήψεων.

No comments: