Das Beispielprogramm 'Verarbeitung der Zeitlimitüberschreitung' besteht aus zwei Teilen, die getrennt ausgeführt werden:
Nachdem der Nachrichtenfluss 'AutomaticTimeout' eingesetzt wurde, müssen Sie nichts weiter zu dessen Ausführung tun: wie der Name schon sagt, wird er automatisch ausgeführt. Während der Broker ausgeführt wird, werden die Nachrichten im Abstand von zehn Sekunden in der Warteschlange 'TIMEOUT_SAMPLE_OUT_1' angezeigt.
Wenn der Test abgeschlossen ist, wiederholen Sie den Vorgang mit der Datei 'SetUnlimitedTimeout.enqueue'. Dadurch wird eine Nachricht mit der Anforderung auf ein uneingeschränktes (unbegrenztes) Zeitlimit an die Warteschlange 'TIMEOUT_SAMPLE_IN_2' gesendet, und anschließend werden Kopien der ursprünglichen Nachricht im Abstand von zehn Sekunden in der Warteschlange 'TIMEOUT_SAMPLE_OUT_2' angezeigt. Die Ausgabenachrichten enthalten ein Fragment (den ersten Datensatz vom Typ '<Invoice>') der ursprünglichen Eingabenachricht.
Die Anforderung auf ein uneingeschränktes Zeitlimit wird so lange ausgeführt, bis sie aktiv beendet wird. Sie können Sie mit einer entsprechenden Abbruchanforderung beenden:
Sie können die Anforderung auf ein auf zehn Nachrichtenkopien eingeschränktes Zeitlimit auf dieselbe Weise mit der Datei 'CancelTenTimeout.enqueue' beenden.
Sie können das eingeschränkte und uneingeschränkte Zeitlimit zusammen ausführen, indem Sie beide Nachrichten kurz hintereinander zur Steuerung des Nachrichtenflusses verwenden. Der Knoten für die gesteuerte Verarbeitung verarbeitet die Nachrichten in der Reihenfolge ihrer Pingsignale, so dass die Ausgabenachrichten in der Warteschlange 'TIMEOUT_SAMPLE_OUT_2' gemischt sind. Sie können nicht zwei Instanzen derselben Zeitlimitanforderung zusammen ausführen, weil die zweite einen Fehler im Zeitlimitsteuerungsknoten auslöst, da die vorhandene Anforderung nicht überschrieben wird. Es ist jedoch zu beachten, dass dies keine Einschränkung der Zeitlimitknoten im Allgemeinen, sondern nur eine Einschränkung in diesem Beispielprogramm ist, weil die Zeitlimitanforderungen in den ENQUEUE-Dateien fest codierte Kennungen haben.
Gehen Sie folgendermaßen vor, um die Nachrichten in der Warteschlange 'TIMEOUT_SAMPLE_OUT_1' anzuzeigen:
<TimeoutRequest>
<Action>SET</Action>
<Identifier>SampleAuto</Identifier>
<StartDate>2005-06-06</StartDate>
<StartTime>12:36:44.900</StartTime>
<Count>5</Count>
<Interval>10</Interval>
<IgnoreMissed>TRUE</IgnoreMissed>
<AllowOverwrite>TRUE</AllowOverwrite>
</TimeoutRequest>
Die Nachrichten in der Warteschlange 'TIMEOUT_SAMPLE_OUT_2' werden auf dieselbe Weise angezeigt und enthalten entweder die gesamte Eingabenachricht oder einen Teil davon.