Mithilfe der untergeordneten Baumstruktur für Zieladressen (Destination) können Sie Zieladressen festlegen, die von Sendeknoten, dem HTTPRequest-Knoten, dem SOAPRequest-Knoten, dem SOAPAsyncRequest-Knoten und dem RouteToLabel-Knoten verwendet werden. In den folgenden Beispielen wird die Erstellung und Verwendung einer ESQL-Prozedur gezeigt und wie Sie für jedes Beispiel Werte festlegen können.
Sie können diese Prozeduren kopieren und wie im Beispiel gezeigt verwenden, oder Sie können die Prozeduren ändern oder sie erweitern, um ähnliche Tasks auszuführen.
CREATE PROCEDURE addToMQDestinationList(IN LocalEnvironment REFERENCE, IN newQueue char) BEGIN /******************************************************************************* * Prozedur zum Hinzufügen eines WS-Namens zur MQ-Zieladressenliste in der lokalen Umgebung. * Diese Liste wird von einem MQOutput-Knoten verwendet, dessen Modus für die Zieladressenliste festgelegt wurde. * * IN LocalEnvironment: Die lokale Umgebung, die geändert werden soll. * Beim Aufrufen dieser Prozedur diesen Wert auf 'OutputLocalEnvironment' festlegen. * IN queue: Die Warteschlange, die der Liste hinzugefügt werden soll. * *******************************************************************************/ DECLARE I INTEGER CARDINALITY(LocalEnvironment.Destination.MQ.DestinationData[]); IF I = 0 THEN SET LocalEnvironment.Destination.MQ.DestinationData[1].queueName = newQueue; ELSE SET LocalEnvironment.Destination.MQ.DestinationData[I+1].queueName = newQueue; END IF; END;
CREATE PROCEDURE overrideDefaultHTTPRequestURL(IN LocalEnvironment REFERENCE, IN newUrl char) BEGIN /******************************************************************************* * Eine Prozedur zum Ändern der URL, an die der HTTPRequest-Knoten die Anforderung sendet. * * IN LocalEnvironment: Die lokale Umgebung, die geändert werden soll. * Beim Aufrufen dieser Prozedur diesen Wert auf 'OutputLocalEnvironment' festlegen. * IN queue: Die URL, an die die Anforderung gesendet wird. * *******************************************************************************/ set LocalEnvironment.Destination.HTTP.RequestURL = newUrl; END;
CREATE PROCEDURE addToRouteToLabelList(IN LocalEnvironment REFERENCE, IN newLabel char) BEGIN /******************************************************************************* * Prozedur zum Hinzufügen einer Kennung zur RouteToLabel-Liste in der lokalen Umgebung. * Diese Liste wird vom RouteToLabel-Knoten verwendet. * * IN LocalEnvironment: Die lokale Umgebung, die geändert werden soll. * Beim Aufrufen dieser Prozedur diesen Wert auf 'OutputLocalEnvironment' festlegen. * IN label: Die Kennung, die der Liste hinzugefügt werden soll * *******************************************************************************/ if LocalEnvironment.Destination.RouterList.DestinationData is null then set LocalEnvironment.Destination.RouterList.DestinationData."label" = newLabel; else create LASTCHILD OF LocalEnvironment.Destination.RouterList.DestinationData NAME 'label' VALUE newLabel; end if; END;