Destination サブツリーを使用して、出力ノード、HTTPRequest ノード、および RouteToLabel ノードによって使用されるターゲットの宛先をセットアップすることができます。 以下の例は、ESQL プロシージャーを作成およびそれを使用して、それぞれの使用における値のセットアップというタスクを実行する方法を示しています。
これらのプロシージャーをコピーし、示されているとおりに使用することもできますし、あるいはそれらを変更または拡張して同様のタスクを実行することもできます。
CREATE PROCEDURE addToMQDestinationList(IN LocalEnvironment REFERENCE, IN newQueue char) BEGIN /******************************************************************************* * A procedure that will add a queue name to the MQ destination list * in the local environment. * This list is used by a MQOuput node which has its mode set to Destination list. * * IN LocalEnvironment: LocalEnvironment to be modified. * Set this to OutputLocalEnvironment when calling this procedure * IN queue: queue to be added to the list * *******************************************************************************/ 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 /******************************************************************************* * A procedure that will change the URL to which the HTTPRequest node will send the request. * * IN LocalEnvironment: LocalEnvironment to be modified. * Set this to OutputLocalEnvironment when calling this procedure * IN queue: URL to send the request to. * *******************************************************************************/ set LocalEnvironment.Destination.HTTP.RequestURL = newUrl; END;
CREATE PROCEDURE addToRouteToLabelList(IN LocalEnvironment REFERENCE, IN newLabel char) BEGIN /******************************************************************************* * A procedure that will add a label name to the RouteToLabel list * in the local environment. * This list is used by a RoteToLabel node. * * IN LocalEnvironment: LocalEnvironment to be modified. * Set this to OutputLocalEnvironment when calling this procedure * IN label: label to be added to the list * *******************************************************************************/ 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;