Der tl:KBDataProducerTask kann potentiell sehr lange laufen. Wenn das Zeit-Limit im tl:Scheduler überschritten wird, fordert der den Task auf sich zu beenden. Der kann diese Aufforderung mittels BatchImpl.getShouldStop() abfragen. (tl:Batch ist die Oberklasse von tl:Task.) Da der Task in einer Schleife alle Changesets durchgeht und einzeln verschickt, soll er zumindest dort jeweils einmal prüfen, ob er sich beenden soll.
Umsetzung
Der Task prüft zum einen, nachdem er den tl:ChangeSetReader erstellt hat, ob er abbrechen soll. Und zum anderen jeweils nach dem Senden eines Changesets. Wenn er abgebrochen wird, meldet er welche Revisionen er verarbeitet hat.
Test
Im tl:KBDataProducerTask Breakpoints setzen. Am besten an den Zeilen in denen getShouldStop aufgerufen wird. Dann eine Anwendung starten die Kafka verwendet und Änderungen in der tl:KnowledgeBase verursachen. Den Task in der SchedulerGui abbrechen und prüfen, ob er das macht und passende Meldungen in der Tabelle der Ausführungen angezeigt werden.