Das Beispielprogramm 'Verarbeitung der Zeitlimitüberschreitung' ausführen

Das Beispielprogramm 'Verarbeitung der Zeitlimitüberschreitung' besteht aus zwei Teilen, die getrennt ausgeführt werden:

Automatische Verarbeitung der Zeitlimitüberschreitung

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.

Gesteuerte Verarbeitung der Zeitlimitüberschreitung

Nachdem der Nachrichtenfluss 'ControlledTimeout' eingesetzt wurde, muss er mit Hilfe der Beispielnachrichten wie nachfolgend beschrieben gesteuert werden:
  1. Öffnen Sie folgende ENQUEUE-Datei mit der Testnachricht: 'SetTenTimeout.enqueue'.
  2. Klicken Sie auf 'In Warteschlange schreiben'. Es wird eine Anforderungsnachricht an die Warteschlange 'TIMEOUT_SAMPLE_IN_1' gesendet, und anschließend werden zehn Kopien der ursprünglichen Nachricht im Abstand von zehn Sekunden in der Warteschlange 'TIMEOUT_SAMPLE_OUT_2' 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:

  1. Öffnen Sie folgende ENQUEUE-Datei mit der Testnachricht: 'CancelUnlimitedTimeout.enqueue'. Diese enthält nur eine Abbruchanforderung für die Anforderung auf ein uneingeschränktes Zeitlimit, die in der Datei 'SetUnlimitedTimeout.enqueue' angegeben ist.
  2. Klicken Sie auf 'In Warteschlange schreiben'. Es werden keine weiteren Nachrichten in der Warteschlange 'TIMEOUT_SAMPLE_OUT_2' angezeigt.

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.

Erfolg überprüfen

Der Erfolg wird durch den Eingang von Nachrichten in den Warteschlangen 'TIMEOUT_SAMPLE_OUT_1' und 'TIMEOUT_SAMPLE_OUT_2' bestimmt. Die erste Warteschlange enthält die Nachrichten aus dem Nachrichtenfluss 'AutomaticTimeout', die im Abstand von zehn Sekunden so lange eingehen, wie der Nachrichtenfluss ausgeführt wird. Die zweite enthält die Nachrichten aus dem Nachrichtenfluss 'ControlledTimeout', die in Gruppen mit einem Abstand von jeweils zehn Sekunden eingehen und von der Reihenfolge und dem Zeitpunkt für den Aufruf der Anforderung abhängen.

Gehen Sie folgendermaßen vor, um die Nachrichten in der Warteschlange 'TIMEOUT_SAMPLE_OUT_1' anzuzeigen:

  1. Klicken Sie in der Workbench-Funktionsleiste auf das Symbol Nachricht aus Warteschlange abrufen: Symbol für das Entfernen von Nachrichten aus einer Warteschlange.
  2. Klicken Sie im Dropdown-Menü auf 'Nachricht abrufen', um das Fenster 'Nachricht aus Warteschlange entfernen' zu öffnen.
  3. Geben Sie als WS-Manager 'WBRK6_DEFAULT_QUEUE_MANAGER' und als Warteschlange 'TIMEOUT_SAMPLE_OUT_1' ein.
  4. Klicken Sie auf 'Aus Warteschlange lesen', um eine Nachricht aus der Warteschlange zu lesen. Die Nachrichten werden automatisch generiert und sehen wie folgt aus:
<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.

Symbol Hauptseite   Zurück zur Beispiel-Homepage