Ein Clientknoten kann mithilfe eines Nachrichtenflusses
mit MQInput-,
Compute- und
TCPIPClientOutput-Knoten so konfiguriert werden, dass er
einen Port und Hostnamen, die in der lokalen Umgebung festgelegt sind, dynamisch verwendet.
Szenario: Ein Clientknoten ruft einen Port dynamisch auf.
Anweisungen: Im Folgenden wird beschrieben, wie die für einen Clientausgabeknoten
angegebenen Verbindungsdetails überschrieben werden, um einen Port und einen Hostnamen, die in der
lokalen Umgebung festgelegt sind, dynamisch zu verwenden:
- Erstellen Sie einen Nachrichtenfluss mit dem Namen 'TCPIP_Task16' mit einem MQInput-Knoten, einem Compute-Knoten und einem TCPIPClientOutput-Knoten. Der Abschnitt Nachrichtenflüsse erstellen enthält weitere
Informationen hierzu.
- Verbinden Sie das Ausgangsterminal des Knotens
MQInput mit dem Eingangsterminal des
Compute-Knotens.
- Verbinden Sie das Ausgangsterminal des
Compute-Knotens mit dem Eingangsterminal des
TCPIPClientOutput--Knotens.
- Setzen Sie für den Knoten MQInput die Eigenschaft
Warteschlangenname (auf der Registerkarte
Grundeinstellung) auf
TCPIP.TASK16.IN1.
- Legen Sie für den Compute-Knoten die Eigenschaft
ESQL (auf der Registerkarte
Grundeinstellung) wie folgt fest:
BROKER SCHEMA Tasks
CREATE COMPUTE MODULE TCPIP_Task16_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
-- CALL CopyMessageHeaders();
CALL CopyEntireMessage();
set InputLocalEnvironment.Destination.TCPIP.Output.Hostname = 'localhost';
set InputLocalEnvironment.Destination.TCPIP.Output.Port = 14156;
RETURN TRUE;
END;
CREATE PROCEDURE CopyMessageHeaders() BEGIN
DECLARE I INTEGER 1;
DECLARE J INTEGER;
SET J = CARDINALITY(InputRoot.*[]);
WHILE I < J DO
SET OutputRoot.*[I] = InputRoot.*[I];
SET I = I + 1;
END WHILE;
END;
CREATE PROCEDURE CopyEntireMessage() BEGIN
SET OutputRoot = InputRoot;
END;
END MODULE;
- Setzen Sie für den Knoten TCPIPClientOutput die
Eigenschaft Verbindungsdetails (auf der Registerkarte
Grundeinstellung) auf 9999.
- Speichern Sie den Nachrichtenfluss.