//****************************************************************** //* * //* @START_COPYRIGHT@ * //* * //* Materiales bajo licencia - Propiedad de IBM; * //* 5655-G97 (c) Copyright IBM Corp. 2004; * //* Reservados todos los derechos; * //* Derechos restringidos para los usuarios del gobierno de EE.UU. * //* Utilización, duplicación o divulgación restringida por el GSA * //* ADP Schedule Contract con IBM Corp.; * //* Vea las instrucciones de copyright * //* * //* @END_COPYRIGHT@ * //* * //****************************************************************** //* IBM WebSphere Event/Message Brokers * //* * //* Ejemplo de trabajo para crear un intermediario. * * //* * //****************************************************************** //* MÁS INFORMACIÓN - Consulte: * //* * //* Centro de información de WebSphere Event/Message Brokers. * //* * //****************************************************************** //* PERSONALICE AQUÍ ESTE JCL PARA SU INSTALACIÓN //* HA DE EFECTUAR CAMBIOS GLOBALES EN ESTOS PARÁMETROS USANDO SU EDITOR //* * //* Sustituya ++HOME++ //* Directorio inicial donde se crearán los //* archivos ENVFILE, STDERR y STDOUT. //* por ej. '/u/home' //* //* Sustituya ++INSTALL++ //* Directorio de instalación de WBI Brokers. //* por ej. '/usr/lpp/mqsi ' //* //* Sustituya ++QUEUEMANAGER++ //* Nombre del gestor de colas. //* por ej. 'MQ01' //* //* Sustituya ++COMPONENTDIRECTORY++ //* Directorio de intermediario. //* por ej. '/mqsi/brokers/MQ01BRK ' //* //* Sustituya ++STARTEDTASKNAME++ //* Nombre de tarea iniciada (máximo 8 caracteres en mayúsculas). //* por ej. 'MQ01BRK' //* //* Sustituya ++COMPONENTDATASET++ //* Conjunto de datos de intermediario. //* por ej. 'BIP.BROKER.MQ01BRK' //* //* Sustituya ++DB2HLQ++ //* Calificador de alto nivel DB2. //* por ej. 'SYS2.DB2.V710' //* //* Sustituya ++DB2RUNLIB++ //* DB2. //* por ej. 'DSN710PK.RUNLIB.LOAD' //* //* Sustituya ++WMQHLQ++ //* Calificador de alto nivel WebSphere. //* por ej. 'MQM.V531' //* //* Sustituya ++WMBHLQ++ //* Calificador de alto nivel //* WebSphere Message Broker //* //* SÓLO ES NECESARIO SI SE UTILIZA LA NOTIFICACIÓN DE SUCESOS //* //* por ej. 'MB.V6R0M0' //* //****************************************************************** //* //* Las siguientes variables cambian al iniciar un DataFlowEngine: //* Archivos STDOUT y STDERR //* STDD=OAPPEND (el valor por omisión es OTRUNC) //* ID de semáforo //* SE=<ID de semáforo> (el valor por omisión es '') //* ID de segmento de memoria compartida //* SH=<ID de segmento de memoria compartida> (el valor por omisión es '') //* Nombre exclusivo de componente //* COMPK='' (el valor por omisión es ++STARTEDTASKNAME++) //* Parámetro de inicio //* STRTP='' (el valor por omisión es 'AUTO') //* //****************************************************************** //* //++STARTEDTASKNAME++ PROC INSTP='++INSTALL++', // MAINP='bipimain', // SRVMP='bipservice', // COMPK='++STARTEDTASKNAME++', // COMDS='++COMPONENTDATASET++', // STRTP='AUTO', // COMPDIR='++COMPONENTDIRECTORY++', // STDD='OAPPEND', // SE='', // SH='', // HOME='++HOME++', // DB2HLQ='++DB2HLQ++', // WMQHLQ='++WMQHLQ++' //* //****************************************************************** //* Copia de ENVFILE en SYSOUT //****************************************************************** //* //COPYENV EXEC PGM=IKJEFT01, // PARM='OCOPY INDD(BIPFROM) OUTDD(ENVFILE)' //SYSTSPRT DD DUMMY //BIPFROM DD PATHOPTS=(ORDONLY), // PATH='&HOME./ENVFILE' //ENVFILE DD SYSOUT=*,DCB=(RECFM=V,LRECL=256) //SYSTSIN DD DUMMY //* //****************************************************************** //* Copiar DSNAOINI en SYSOUT //****************************************************************** //* //COPYDSN EXEC PGM=IKJEFT01, // PARM='OCOPY INDD(BIPFROM) OUTDD(DSNAOINI)' //SYSTSPRT DD DUMMY //BIPFROM DD DISP=SHR,DSN=&COMDS.(BIPDSNAO) //DSNAOINI DD SYSOUT=*,DCB=(RECFM=V,LRECL=256) //SYSTSIN DD DUMMY //* //****************************************************************** //* Prueba para ver si se inicia un espacio de direcciones de DataFlowEngine. //* Debe devolver RC=0 si se inicia un espacio de direcciones de control o //* de servidor de nombres de usuario, RC=12 si se inicia un espacio de //* direcciones de DataFlowEngine. //****************************************************************** //* //CHECKDFE EXEC PGM=IKJEFT01, // PARM='LISTDS ''&COMDS.&SE.''' //SYSTSIN DD DUMMY //SYSTSPRT DD DUMMY //SYSMDUMP DD SYSOUT=* //* // IF (RC=0) THEN //* //****************************************************************** //* Verificación de DB2 y MQ de intermediario //****************************************************************** //* //VFYDB2MQ EXEC PGM=BPXBATSL,REGION=0M,TIME=NOLIMIT, // PARM='PGM &INSTP./bin/bipcvp b ++QUEUEMANAGER++' //* Bibliotecas de ejecución DB2 //STEPLIB DD DISP=SHR,DSN=&DB2HLQ..SDSNEXIT // DD DISP=SHR,DSN=&DB2HLQ..SDSNLOAD // DD DISP=SHR,DSN=&DB2HLQ..SDSNLOD2 // DD DISP=SHR,DSN=++DB2RUNLIB++ //* Bibliotecas de ejecución MQSeries // DD DISP=SHR,DSN=&WMQHLQ..SCSQANLE // DD DISP=SHR,DSN=&WMQHLQ..SCSQAUTH // DD DISP=SHR,DSN=&WMQHLQ..SCSQLOAD //STDENV DD PATH='&HOME./ENVFILE' //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //SYSMDUMP DD SYSOUT=* //* // ENDIF //* //****************************************************************** //* Comprobar RCs de pasos anteriores //****************************************************************** //* // IF (CHECKDFE.RC NE 0) OR // (VFYDB2MQ.RC EQ 0) THEN //* //****************************************************************** //* Paso para suprimir bloqueos residuales //* (esto sólo es necesario si el intermediario está habilitado para ARM) //****************************************************************** //* //*RMLOCKS EXEC PGM=BPXBATCH,REGION=0M,TIME=NOLIMIT, //* PARM='SH rm -f &COMPDIR./common/locks/*' //* //****************************************************************** //* Iniciar: //* Espacio de direcciones de control (bipimain, bipservice y bipbroker) //* Espacio de direcciones de DataFlowEngine (bipimain y DataFlowEngine) //****************************************************************** //* //BROKER EXEC PGM=BPXBATCH,REGION=0M,TIME=NOLIMIT, // PARM='PGM &INSTP./bin/&MAINP. &SRVMP. &SE. &SH. &COMPK. // &STRTP.' //* Bibliotecas de ejecución DB2 //STEPLIB DD DISP=SHR,DSN=&DB2HLQ..SDSNEXIT // DD DISP=SHR,DSN=&DB2HLQ..SDSNLOAD // DD DISP=SHR,DSN=&DB2HLQ..SDSNLOD2 // DD DISP=SHR,DSN=++DB2RUNLIB++ //* Bibliotecas de ejecución MQSeries // DD DISP=SHR,DSN=&WMQHLQ..SCSQANLE // DD DISP=SHR,DSN=&WMQHLQ..SCSQAUTH // DD DISP=SHR,DSN=&WMQHLQ..SCSQLOAD //* Si se emplea la notificación de sucesos, //* es necesario que la biblioteca de Message //* Broker tenga autorización APF. //* (Todas la bibliotecas en concatenación //* deben tener autorización para APF) //* DD DISP=SHR,DSN=++WMBHLQ++.SBIPAUTH //STDENV DD PATH='&HOME./ENVFILE' //STDOUT DD PATHOPTS=(OWRONLY,OCREAT,&STDD), // PATHMODE=(SIRWXU,SIRWXG), // PATH='&COMPDIR./output/stdout' //STDERR DD PATHOPTS=(OWRONLY,OCREAT,&STDD), // PATHMODE=(SIRWXU,SIRWXG), // PATH='&COMPDIR./output/stderr' //SYSMDUMP DD SYSOUT=* //* //****************************************************************** //* Copia de stdout en SYSOUT //****************************************************************** //* //COPYOUT EXEC PGM=IKJEFT01,COND=EVEN, // PARM='OCOPY INDD(BIPFROM) OUTDD(STDOUT)' //SYSTSPRT DD DUMMY //BIPFROM DD PATHOPTS=(ORDONLY), // PATH='&COMPDIR./output/stdout' //STDOUT DD SYSOUT=*,DCB=(RECFM=V,LRECL=256) //SYSTSIN DD DUMMY //* //****************************************************************** //* Copia de stderr en SYSOUT //****************************************************************** //* //COPYERR EXEC PGM=IKJEFT01,COND=EVEN, // PARM='OCOPY INDD(BIPFROM) OUTDD(STDERR)' //SYSTSPRT DD DUMMY //BIPFROM DD PATHOPTS=(ORDONLY), // PATH='&COMPDIR./output/stderr' //STDERR DD SYSOUT=*,DCB=(RECFM=V,LRECL=256) //SYSTSIN DD DUMMY //* // ENDIF //* //*----------------------------------------------------------------- // PEND //*----------------------------------------------------------------- //* //