Befolgen Sie die Anweisungen in diesem Abschnitt, um eine Thread-Blockierung in Sammelnachrichtenflüssen zu vermeiden, wenn das Steuerterminal des AggregateControl-Knotens in Ihrem Verteilernachrichtenfluss für die Ausgabe von Steuernachrichten mit einer Warteschlange verbunden ist.
Wenn Sie keine Verbindung für das Steuerterminal herstellen, können Sie die hier beschriebenen Themen übergehen. Weitere Informationen zur Verbindung des Steuerterminals des Knotens zur Aggregationssteuerung finden Sie unter Verwendung der Steuernachricht in Aggregationsflüssen.
Der Knoten für Aggregationsantworten verfügt über zwei Eingabeterminals: Das Eingangs- und das Steuerterminal. Wenn Sie beide Terminals verwenden, müssen Sie beachten, dass die Verwendung des Steuerterminals optional ist; die effektivste Methode, dem Knoten für Aggregationsantworten Daten bereitzustellen, ist die Verwendung eines einzelnen MQEmpfangsknotens für den Sammelnachrichtenfluss gefolgt von einem Filterknoten. Der Filterknoten wird dazu verwendet, eine eingehende Nachricht entsprechend an die Eingangs- bzw. Steuerterminals des Knotens für Aggregationsantworten weiterzuleiten.
Verwenden Sie statt zwei MQEmpfangsknoten im Nachrichtenfluss nur einen MQEmpfangsknoten und einen Filterknoten, jeweils einen für das Eingangs- und das Steuerterminal. Sie sollten nur einen MQEmpfangsknoten verwenden, da es nicht möglich ist, die Verteilung zusätzlicher Threads (die durch die Verwendung zusätzlicher Instanzen verfügbar sind) zwischen zwei MQEmpfangsknoten anzugeben. Wahrscheinlich ist im Eingangsterminal des Knotens für Aggregationsantworten mehr Datenverkehr als im Steuerterminal. Deshalb wird empfohlen, dass im Empfangsknoten des Eingangsterminal mehr Threads ausgeführt werden. Dieses Terminal kann jedoch nicht mit zwei MQEmpfangsknoten konfiguriert werden. Dadurch könnten möglicherweise für einen Knoten für Aggregationsantworten keine Threads verfügbar sein, wodurch die Antwortnachrichten gesichert und der Aggregationsmechanismus blockiert wird.
CREATE FILTER MODULE FanIn_Filter CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN IF Root.XMLNS.ComIbmAggregateControlNode IS NULL THEN RETURN TRUE; -- wired to In ELSE RETURN FALSE; -- wired to Control END IF; END; END MODULE;
Wenn Sie Ihren Sammelnachrichtenfluss nicht wie oben beschrieben konfigurieren können, können Sie für den MQEmpfangsknoten, der die Steuernachrichten liest, die Einzelthreadausführung erzwingen. Dazu müssen Sie den MQEmpfangsknoten konfigurieren. Setzen Sie im Fenster 'Erweiterte Eigenschaften' für den Wert der Eigenschaft Modus für Reihenfolge die Option Nach Warteschlangenreihenfolge fest, und wählen Sie Logische Reihenfolge aus. Dadurch werden alle konfigurierten zusätzlichen Instanzen für die Verwendung durch den anderen MQEmpfangsknoten freigegeben. Da die Leistung des ersten MQEmpfangsknoten stark eingeschränkt ist, sollten Sie diese Konfiguration nur verwenden, wenn dies zwingend erforderlich ist.