Puede utilizar el subárbol de destino para configurar los destinos utilizados por los nodos de salida, el nodo HTTPRequest y el nodo RouteToLabel. Los ejemplos siguientes muestran cómo puede crear y utilizar un procedimiento ESQL para realizar la tarea de configurar valores para cada uno de estos usos.
Puede copiar y utilizar estos procedimientos tal como se muestran o puede modificarlos y ampliarlos para realizar tareas similares.
CREATE PROCEDURE addToMQDestinationList(IN LocalEnvironment REFERENCE, IN newQueue char) BEGIN /******************************************************************************* * Procedimiento que añadirá un nombre de cola a la lista de destinos MQ * en el entorno local. * Esta lista la utiliza un nodo MQOuput que tiene la modalidad establecida en lista de destinos. * * IN LocalEnvironment: LocalEnvironment que se debe modificar. * Establecer esto en OutputLocalEnvironment al llamar a este procedimiento * IN queue: cola que se debe añadir a la lista * *******************************************************************************/ DECLARE I INTEGER CARDINALITY(LocalEnvironment.Destination.MQDestinationList.DestinationData[]); IF I = 0 THEN SET LocalEnvironment.Destination.MQDestinationList.DestinationData[1].queueName = newQueue; ELSE SET LocalEnvironment.Destination.MQDestinationList.DestinationData[I+1].queueName = newQueue; END IF; END;
CREATE PROCEDURE overrideDefaultHTTPRequestURL(IN LocalEnvironment REFERENCE, IN newUrl char) BEGIN /******************************************************************************* * Procedimiento que cambiará el URL al que el nodo HTTPRequest enviará la petición. * * IN LocalEnvironment: LocalEnvironment que se debe modificar. * Establecer esto en OutputLocalEnvironment al llamar a este procedimiento * IN queue: URL al que se debe enviar la petición. * *******************************************************************************/ set LocalEnvironment.Destination.HTTP.RequestURL = newUrl; END;
CREATE PROCEDURE addToRouteToLabelList(IN LocalEnvironment REFERENCE, IN newLabel char) BEGIN /******************************************************************************* * Procedimiento que añadirá un nombre de etiqueta a la lista RouteToLabel * en el entorno local. * Esta lista la utiliza un nodo RoteToLabel. * * IN LocalEnvironment: LocalEnvironment que se debe modificar. * Establecer esto en OutputLocalEnvironment al llamar a este procedimiento * IN label: etiqueta que se debe añadir a la lista * *******************************************************************************/ 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;