WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

Zeitlimitwerte für die Aggregation festlegen

Zur Festlegung von Zeitlimitwerten für die zusammengefasste Nachrichtenverarbeitung können zwei Eigenschaften der Aggregationsknoten verwendet werden.

Bevor Sie beginnen:
Stellen Sie sicher, dass Sie folgende Tasks ausgeführt haben:
In zwei Situationen kann die Verwendung von Zeitlimits erforderlich sein:
  • Es muss eine zusammengefasste Antwortnachricht innerhalb einer bestimmten Zeit empfangen werden. Legen Sie in dieser Situation einen Wert für die Eigenschaft Zeitlimit des AggregateControl-Knotens fest.
  • Es muss gewartet werden, bevor eine nicht erkannte Nachricht an das UNBEKANNT-Terminal weitergegeben wird. Legen Sie in dieser Situation einen Wert für die Eigenschaft Zeitlimit bei unbekannten Nachrichten des AggregateReply-Knotens fest.
In den folgenden Abschnitten werden diese Situationen ausführlich beschrieben.

Zusammengefasste Antwortnachricht innerhalb einer bestimmten Zeit empfangen

Unter gewissen Umständen kann es erforderlich sein, eine zusammengefasste Antwortnachricht innerhalb einer bestimmten Zeit zu empfangen. Einige Antwortnachrichten werden möglicherweise spät zurückgegeben oder treffen nie ein. In einem solchen Fall öffnen Sie den Verteilernachrichtenfluss und richten das Zeitlimitintervall mit einer der folgenden Methoden ein:
Direkt im AggregateControl-Knoten
Legen Sie die Eigenschaft Zeitlimit des AggregateControl-Knotens fest, um anzugeben, wie lange (in Sekunden) der Broker auf Antworten warten muss. Diese Eigenschaft ist standardmäßig auf 0 (null) gesetzt, d. h., es gibt kein Zeitlimit und der Broker wartet endlos. Der Abschnitt AggregateControl-Knoten enthält weitere Informationen hierzu.
Mit einem konfigurierbaren Aggregationsservice
Zur Angabe des Zeitlimitintervalls können Sie auch einen konfigurierbaren Aggregationsservice verwenden. Sie können einen konfigurierbaren Aggregationsservice mit demselben Namen wie dem der Eigenschaft Aggregatsname des AggregateControl-Knotens erstellen und den Zeitlimitwert mit der Eigenschaft timeoutSeconds des konfigurierbaren Service festlegen. Alternativ können Sie auch einen konfigurierbaren Aggregationsservice mit dem Namen der Ausführungsgruppe erstellen. Die Werte der konfigurierbaren Aggregationsservices werden in folgender Reihenfolge übernommen:
  1. Wenn ein konfigurierbarer Aggregationsservice mit dem Namen der durch die Eigenschaft Aggregatsname festgelegten Aggregation vorhanden ist, wird dieser konfigurierbare Service verwendet.
  2. Wenn kein konfigurierbarer Service mit dem Namen der Aggregation vorhanden ist, dafür aber ein konfigurierbarer Service mit dem Namen der Ausführungsgruppe, wird dieser konfigurierbare Service verwendet.

Wenn ein konfigurierbarer Service mit dem Namen einer Ausführungsgruppe vorhanden ist, kann er für jede Aggregation der Ausführungsgruppe verwendet werden. Ist allerdings ein konfigurierbarer Service mit dem Namen einer Aggregation innerhalb der Ausführungsgruppe vorhanden, so wird dieser für die betreffende Aggregation verwendet. In beiden Fällen überschreibt der Wert der Eigenschaft timeoutSeconds des konfigurierbaren Service die Eigenschaft Zeitlimit des AggregateControl-Knotens.

Im Abschnitt Eigenschaften von konfigurierbaren Services finden Sie weitere Informationen zum konfigurierbaren Aggregationsservice.

Dynamisch aus einer eingehenden Nachricht

Mit der Eigenschaft Adresse des Zeitlimitwerts des AggregateControl-Knotens können Sie die Position eines Zeitlimitwerts in der eingehenden Nachricht angeben. Jeder auf diese Weise angegebene Zeitlimitwert überschreibt sowohl den Wert des AggregateControl-Knotens als auch den Wert des konfigurierbaren Aggregationsservice.

Der Abschnitt AggregateControl-Knoten enthält weitere Informationen hierzu.

Das zu verwendende Zeitlimit wird in folgender Vorrangfolge durch die in der Nachricht, im konfigurierbaren Service oder im Knoten angegebenen Werte festgelegt:
  1. Wenn in der eingehenden Nachricht ein Zeitlimitwert angegeben ist (an der durch die Eigenschaft Adresse des Zeitlimitwerts des AggregateControl-Knotens angegebenen Position), wird dieser Wert verwendet.
  2. Wenn die Eigenschaft Adresse des Zeitlimitwerts keine Position angibt bzw. diese Position in der Nachricht leer oder nicht vorhanden ist, wird der Wert der Eigenschaft timeoutSeconds des konfigurierbaren Aggregationsservice verwendet (sofern vorhanden).
  3. Wenn kein konfigurierbarer Aggregationsservice definiert ist oder die Eigenschaft timeoutSeconds des konfigurierbaren Service nicht festgelegt ist, wird der Wert der Eigenschaft Zeitlimit des AggregateControl-Knotens verwendet.

Standardmäßig erfolgt alle 5 Sekunden eine Zeitlimitabfrage. Deshalb tritt eine zusätzliche Verzögerung ein, falls Sie die Eigenschaft Zeitlimit auf einen Wert setzen, der kein Mehrfaches von 5 ist. Wenn Sie die Eigenschaft Zeitlimit beispielsweise auf 7 Sekunden setzen, entsteht eine Verzögerung von 3 Sekunden, bevor das Zeitlimit das nächste Mal abgefragt wird. Sie können den Standardwert für das Zeitlimitabfrageintervall über die Umgebungsvariable MQSI_AGGR_WAIT_TIMEOUT ändern. Gültige Werte liegen im Bereich von 1000 bis 5000 Millisekunden. Ändern Sie das Standardabrufintervall wie folgt: Stoppen Sie den Broker und starten Sie ihn dann in einer Umgebung erneut, in der Sie die Umgebungsvariable MQSI_AGGR_WAIT_TIMEOUT auf den gewünschten Wert gesetzt haben.

Wenn das Zeitlimitintervall abläuft, ohne dass alle Antworten eingetroffen sind, werden die eingegangenen Antworten vom AggregateReply-Knoten in eine zusammengefasste Antwortnachricht umgewandelt und an sein Timeout-Terminal weitergegeben. Sie können diese unvollständige Antwortnachricht ebenso wie eine vollständige zusammengefasste Antwortnachricht verarbeiten. Sie können jedoch auch eine Sonderverarbeitung für unvollständige zusammengefasste Antworten bereitstellen.

Vor der Weitergabe einer nicht erkannten Nachricht an das UNBEKANNT-Terminal warten

Sobald eine Nachricht im Eingangsterminal eines AggregateReply-Knotens eintrifft, wird geprüft, ob es sich um eine erwartete Antwortnachricht handelt. Falls die Nachricht nicht erkannt wird, wird sie an das UNBEKANNT-Terminal weitergegeben. Aus folgenden Gründen kann es sinnvoll sein, dass der Broker vor der Weitergabe der Nachricht eine bestimmte Zeit wartet:
  • Die Antwortnachricht trifft möglicherweise ein, bevor die vom AggregateRequest-Knoten ausgeführte Arbeit transaktional festgeschrieben wird. Diese Situation können Sie vermeiden, indem Sie die Eigenschaft Transaktionsmodus des Empfangsknotens wie im Abschnitt Aggregations-Verteilernachrichtenfluss erstellen beschrieben konfigurieren.
  • Die Antwortnachricht trifft möglicherweise vor der Steuernachricht ein. Diese Situation können Sie vermeiden, indem Sie keine Verbindung für das Steuerterminal des AggregateControl-Knotens herstellen. Weitere Informationen zu den Auswirkungen einer Verbindung des Steuerterminals finden Sie im Abschnitt Verwendung der Steuernachricht in Aggregationsflüssen.
Diese Situationen treten meistens dann ein, wenn Sie die Anforderungsnachrichten außerhalb eines Synchronisationspunkts senden. Dies kann dazu führen, dass gültige Antworten an das UNBEKANNT-Terminal gesendet werden. Sie können die Wahrscheinlichkeit, dass dieses Ereignis eintritt, wie folgt verringern:
  1. Öffnen Sie den Sammelnachrichtenfluss.
  2. Legen Sie die Eigenschaft Zeitlimit bei unbekannten Nachrichten des AggregateReply-Knotens fest.

    Wenn Sie diese Eigenschaft festlegen, wird eine Nachricht, die nicht sofort als gültige Antwort erkannt werden kann, für die Anzahl an Sekunden, die für diese Eigenschaft angegeben ist, persistent im Broker gespeichert.

Wenn das Intervall für unbekannte Nachrichten abläuft und die Nachricht erkannt wird, wird sie verarbeitet. Der Knoten überprüft auch, ob diese zuvor unbekannte Nachricht die letzte Antwort ist, die zur Vervollständigung einer Aggregation benötigt wird. Ist dies der Fall, wird die zusammengefasste Antwortnachricht konstruiert und weitergegeben.

Wenn das Intervall für unbekannte Nachrichten abläuft und die Nachricht immer noch nicht erkannt wird, wird sie an das UNBEKANNT-Terminal weitergegeben.

Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:19:58


TaskthemaTaskthema | Version 8.0.0.5 | ac12320_