Enhancement
Major
Detail
Major
Detail
The tl:KBDataProducerTask can potentially run for a very long time. If the time limit in the tl:Scheduler is exceeded, it will ask the task to stop. It can query this request using BatchImpl.getShouldStop(). (tl:Batch is the superclass of tl:Task.) Since the task loops through all changesets and sends them one by one, it should check at least once each time whether it should stop.
Implementation
The task checks whether it should terminate after it has created the tl:ChangeSetReader. And on the other hand after sending a changeset. If it terminates, it reports which revisions it has processed.
Test
Set breakpoints in tl:KBDataProducerTask. Best at the lines where getShouldStop is called. Then start an application that uses Kafka and cause changes in the tl:KnowledgeBase. Break the task in the SchedulerGui and check if it does that and appropriate messages are displayed in the table of executions.