Antes de empezar
Debe tener una extensión definida por el usuario escrita en C. Puede ser uno de los nodos de ejemplo facilitados que se describen en la sección Archivos de nodos de ejemplo, el analizador de ejemplos que se describe en la sección Archivos de analizadores de ejemplo o bien, un nodo o un analizador que haya creado usted mismo siguiendo las instrucciones que se indican en las secciones Creación de un nodo de proceso de mensajes en C, Creación de un nodo de entrada en C o Creación de un analizador en C. El nombre del nodo de plug-in debe tener el formato <nodename>.lil.
Esta sección proporciona información sobre cómo compilar extensiones definidas por el usuario para todas las plataformas soportadas.
Los nombres de archivos que se emplean en estas instrucciones son los que se suministran en los ejemplos. Si está compilando sus propias extensiones definidas por el usuario, deberá reemplazar estos nombres de archivo por los nombres de archivos propios.
Antes de intentar compilar la extensión definida por el usuario, asegúrese de que dispone de un compilador adecuado que esté soportado en su sistema operativo. Algunos ejemplos de compiladores apropiados son:
Para Windows, Microsoft Visual Studio Versión 6.0 (Service Pack 5)
Para AIX, VisualAge C++ for AIX Versión 5.0.2
ParaHP-UX, HP ANSI C 03.37
Para Linux, Linux Versión 2.95.3
Para Solaris, SparcCompiler SC6.2
Paraz/OS, z/OS Versión 1.3 o Versión 1.4
Las bibliotecas existentes de extensiones definidas por el usuario del cliente o de terceros se ejecutarán en un intermediario de WebSphere Business Integration Message Broker sin modificaciones ni recompilaciones; no obstante, sí que deberá crearlas manualmente en el área de trabajo.
La compilación del origen de la extensión definida por el usuario en cada una de las plataformas soportadas crea la biblioteca de implementación cargable (LIL) que el intermedario necessita para implementar la extensón definida por el usuario.
cd dir_instalación\sample\extensions\nodes\ (Windows) cd dir_instalación/sample/extensions/nodes (plataformas UNIX)
cl /VERBOSE /LD /MD /Zi /I..\plugin /I..\..\include\plugin SwitchNode.c BipSampPluginUtil.c Common.c NodeFactory.c TransformNode.c -link /DLL ..\..\lib\imbdfplg.lib /OUT:SwitchNode.lil
xlc_r -I <dir_instalación>/include -I <dir_instalación>/include/plugin -c SwitchNode.c -o <outputdir>/SwitchNode.o xlc_r -I <dir_instalación>/include -I <dir_instalación>/include/plugin -c BipSampPluginUtil.c -o <outputdir>/BipSampPluginUtil.o xlc_r -bM:SRE -bexpall -bnoentry -o SwitchNode.lil <outputdir>/SwitchNode.o <outputdir>/BipSampPluginUtil.o -L <dir_instalación>/lib -l imbdfplg chmod a+r SwitchNode.lil
cc +z \ -I. \ -I<dir_instalación>/include \ -I<dir_instalación>/include/plugin \ -c BipSampPluginUtil.c \ -o <output_dir>/BipSampPluginUtil.o cc +z \ -I. \ -I<dir_instalación>/include \ -I<dir_instalación>/include/plugin \ -c Common.c \ -o <output_dir>/Common.o cc +z \ -I. \ -I<dir_instalación>/include \ -I<dir_instalación>/include/plugin \ -c NodeFactory.c \ -o <output_dir>/NodeFactory.o cc +z \ -I. \ -I<dir_instalación>/include \ -I<dir_instalación>/include/plugin \ -c SwitchNode.c \ -o <output_dir>/SwitchNode.o cc +z \ -I. \ -I<dir_instalación>/include \ -I<dir_instalación>/include/plugin \ -c TransformNode.c \ -o <output_dir>/TransformNode.o ld -b \ -o <output_dir>/SwitchNode.lil \ <output_dir>/BipSampPluginUtil.o \ <output_dir>/Common.o \ <output_dir>/NodeFactory.o \ <output_dir>/SwitchNode.o \ <output_dir>/TransformNode.o \ -L <dir_instalación>/lib \ -L <java_home>/jre/lib/PA_RISC2.0 \ -L <java_home>/jre/lib/PA_RISC2.0/server \ -l imbdfplg chmod a+r <output_dir>/SwitchNode.lil
Compile y enlace el nodo definido por el usuario en Linux tal como se indica a continuación, utilizando un compilador C soportado. Observe que las líneas se han partido para facilitar la legibilidad. Entre cada mandato como una única línea de entrada.
/usr/bin/gcc -c -fpic -MD -trigraphs -I. -I/opt/mqsi/include -I/opt/mqsi/include/plugin -DLINUX -D__USE_GNU -D_GNU_SOURCE TransformNode.c /usr/bin/gcc -c -fpic -MD -trigraphs -I. -I/opt/mqsi/include -I/opt/mqsi/include/plugin -DLINUX -D__USE_GNU -D_GNU_SOURCE SwitchNode.c /usr/bin/gcc -c -fpic -MD -trigraphs -I. -I/opt/mqsi/include -I/opt/mqsi/include/plugin -DLINUX -D__USE_GNU -D_GNU_SOURCE BipSampPluginUtil.c /usr/bin/gcc -c -fpic -MD -trigraphs -I. -I/opt/mqsi/include -I/opt/mqsi/include/plugin -DLINUX -D__USE_GNU -D_GNU_SOURCE Common.c /usr/bin/gcc -c -fpic -MD -trigraphs -I. -I/opt/mqsi/include -I/opt/mqsi/include/plugin -DLINUX -D__USE_GNU -D_GNU_SOURCE NodeFactory.c /usr/bin/gcc -o samples.lil TransformNode.o SwitchNode.o BipSampPluginUtil.o Common.o NodeFactory.o -shared -lc -lnsl -ldl -L/opt/mqsi/lib -limbdfplgEstos mandatos crean el archivo samples.lil, que proporciona objetos TransformNode y SwitchNode. Si se produce una excepción en el nodo, éste no se manejará correctamente; el intermediario terminará anormalmente y se reiniciará.
cc -mt \ -I. \ -I<dir_instalación>/include \ -I<dir_instalación>/include/plugin \ -c SwitchNode.c \ -o <output_dir>/SwitchNode.o cc -mt \ -I. \ -I<dir_instalación>/include \ -I<dir_instalación>/include/plugin \ -c BipSampPluginUtil.c \ -o <output_dir>/BipSampPluginUtil.o cc -G \ -o <output_dir>/SwitchNode.lil \ <output_dir>/SwitchNode.o \ <output_dir>/BipSampPluginUtil.o \ -L <dir_instalación>/lib / -l imbdfplg chmod a+r <output_dir>/SwitchNode.lil
export _CC_STEPS=-1De forma alternativa, puede añadir estas dos líneas al archivo makefile, tal como se indica a continuación:
_CC_STEPS=-1 .EXPORT : _CC_STEPS
Compile y enlace el nodo definido por el usuario en z/OS tal como se indica a continuación, utilizando un compilador C soportado:
cc -c \ -Wc,DLL -g -W0,long,langlvl\(extended\),EXPORTALL,TARGET\(OSV2R8\) \ -W0,LIST\(${output_dir}/SwitchNode.lst\) \ -I./-I${install_dir}/include -I${install_dir}/include/plugin \ -I${install_dir}/sample/include \ -I${install_dir}/sample/plugin \ -o ${output_dir}/SwitchNode.o \ ${install_dir}/sample/plugin/SwitchNode.c
cc -c \ -Wc,DLL -g -W0,long,langlvl\(extended\),EXPORTALL,TARGET\(OSV2R8\) \ -W0,LIST\(${output_dir}/BipSampPluginUtil.lst\) \ -I./-I${install_dir}/include -I${install_dir}/include/plugin \ -I${install_dir}/sample/include \ -I${install_dir}/sample/plugin \ -o ${output_dir}/BipSampPluginUtil.o \ ${install_dir}/sample/plugin/BipSampPluginUtil.c
cc \ -Wl,DLL -g -Wl,p,map -Wl,LIST=ALL,MAP,XREF,REUS=RENT -o ${output_dir}/SwitchNode.lil \ ${output_dir}/SwitchNode.o ${output_dir}/BipSampPluginUtil.o ${install_dir}/lib/libimbdfplg.x
chmod a+r {output_dir}/SwitchNode.lil
Conceptos relacionados
Extensiones definidas por el usuario
Tareas relacionadas
Desarrollo de extensiones definidas por el usuario
Creación de la representación de interfaz de usuario de un nodo definido por el usuario en el área de trabajo
Comprobación de un nodo definido por el usuario
Distribución de un nodo definido por el usuario
Referencia relacionada
Extensiones definidas por el usuario
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
as10000_ |