Utilize a subárvore Destino para configurar os destinos de destino que são utilizados pelos nós de saída, os nós HTTPRequest, SOAPRequest, SOAPAsyncRequest, e RouteToLabel. Os exemplos a seguir mostram como é possível criar e utilizar o procedimento ESQL para executar a tarefa de configuração de valores para cada uma dessas utilizações.
Copie e utilize estes procedimentos conforme mostrado ou você pode modificar ou estendê-los para desempenhar tarefas semelhantes.
Se você estiver criando esse código ESQL para um nó Compute, deverá configurar o nó configurando a propriedade Modo de Cálculo para que tenha acesso à arvore do ambiente local na mensagem de saída. Você deve selecionar um dos três valores, LocalEnvironment, LocalEnvironment And Message ou Todos.
CREATE PROCEDURE addToMQDestinationList(IN LocalEnvironment REFERENCE, IN newQueue char) BEGIN
/*******************************************************************************
* Um procedimento que inclui o nome da fila na lista de destinos MQ no ambiente local.
* Esta lista é utilizada por um nó MQOutput que possui seus modos configurados na lista de Destinos.
*
* EM LocalEnvironment: o Ambiente Local a ser modificado.
* NA fila: a fila a ser incluída à lista
*
*******************************************************************************/
DECLARE I INTEGER CARDINALITY(LocalEnvironment.Destination.MQ.DestinationData[]);
IF I = 0 THEN
SET OutputLocalEnvironment.Destination.MQ.DestinationData[1].queueName = newQueue;
ELSE
SET OutputLocalEnvironment.Destination.MQ.DestinationData[I+1].queueName = newQueue;
END IF;
END;
Para obter detalhes integrais desses elementos, consulte Tipos de Dados para Elementos na Subárvore MQ DestinationData.CREATE PROCEDURE overrideDefaultSOAPRequestURL(IN LocalEnvironment REFERENCE, IN newUrl char) BEGIN
/*******************************************************************************
* Um procedimento que alterará a URL para a qual o nó SOAPRequest ou
* o nó SOAPAsyncRequest enviará o pedido.
*
* EM LocalEnvironment: o Ambiente Local a ser modificado.
* Fila IN: a URL para o qual enviar o pedido.
*
*******************************************************************************/
SET OutputLocalEnvironment.Destination.SOAP.Request.Transport.HTTP.WebServiceURL = newUrl;
END;
CREATE PROCEDURE overrideDefaultHTTPRequestURL(IN LocalEnvironment REFERENCE, IN newUrl char) BEGIN
/*******************************************************************************
* Um procedimento que irá alterar a URL à qual o nó HTTPRequest enviará o pedido.
*
* EM LocalEnvironment: o Ambiente Local a ser modificado.
* Fila IN: a URL para o qual enviar o pedido.
*
*******************************************************************************/
SET OutputLocalEnvironment.Destination.HTTP.RequestURL = newUrl;
END;
CREATE PROCEDURE addToRouteToLabelList(IN LocalEnvironment REFERENCE, IN newLabel char) BEGIN
/*******************************************************************************
* Um procedimento que incluirá um nome de etiqueta na lista RouteToLabel no ambiente local.
* Esta lista é utilizada por um nó RoteToLabel.
*
* EM LocalEnvironment: o Ambiente Local a ser modificado.
* NA etiqueta: etiqueta a ser incluída na lista
*
*******************************************************************************/
IF LocalEnvironment.Destination.RouterList.DestinationData is null THEN
SET OutputLocalEnvironment.Destination.RouterList.DestinationData."label" = newLabel;
ELSE
CREATE LASTCHILD OF LocalEnvironment.Destination.RouterList.DestinationData
NAME 'label' VALUE newLabel;
END IF;
END;
CREATE PROCEDURE CreateJMSDestinationList() BEGIN
SET OutputLocalEnvironment.Destination.JMSDestinationList.DestinationData[1] = 'jndi://TestDestQueue1';
SET OutputLocalEnvironment.Destination.JMSDestinationList.DestinationData[2] = 'jndi://TestDestQueue2';
SET OutputLocalEnvironment.Destination.JMSDestinationList.DestinationData[3] = 'jndi://TestDestQueue3';
END;