Der Timer

Der Timer ist Bestandteil der Liste, in welcher die Informationen über erfolgte Applikation-Server Aufrufe abgelegt sind (pending_requests_list). Diese Liste ist ein Objekt der Klasse wfl_extended_requests_list, welche eine Kindklasse der Java-Klasse LinkedList darstellt. Information über einen einzelnen Applikation-Server Funktionsaufruf (request) wird in einem Objekt der Klasse wfl_request_information gespeichert.

U.a. beinhaltet ein solchen Objekt ein Objekt vom Typ wfl_request_timeout. Diese Klasse ist abgeleitet von der Java-Klasse TimerTask. Soll nun eine request_information in der Liste erfasst, wird zusätzlich das request_timeout dieser request_information dem Timer übergeben. Dieses sorgt dafür, dass, falls nicht mit Ablauf einer bestimmten Zeit ein Ergebnis für diesen request eingegangen ist und damit das wfl_request-timeout Objekt aus dem Timer entfernt worden ist, dieses aktiviert wird und über die dispatcher-Funktion reawake_sleeping_wfl den zugehörigen Workflow über den Timeout informiert.


Jan Kechel 2006-04-28