Ejecutar el ejemplo del Manejador de errores
La ejecución del ejemplo consiste en pasar cada mensaje a través de los flujos de mensajes. Puede ejecutar el ejemplo para saber qué sucede en las
siguientes situaciones:
- El mensaje de entrada contiene un número de personal válido
- El mensaje de entrada contiene un número de personal no válido
- El mensaje de entrada contiene un número de personal válido, pero la
cola de salida STAFF_OUT se ha inhibido para colocación
Si desea ver más información, consulte el apartado Acerca del ejemplo de
Manejador de errores.
Si no ha configurado DB2 y WebSphere MQ tal como se explica en las
instrucciones de configuración, no podrá ver los efectos de utilizar distintas unidades de
trabajo en un flujo de mensajes al ejecutar el ejemplo.
Sin embargo, todavía puede explorar los demás aspectos del ejemplo.
Si está ejecutando el ejemplo del Manejador de errores en
Windows, las instrucciones siguientes presuponen que ha instalado la
versión completa de DB2 Universal Database. Si ha utilizado el método de
Instalación Express en el Launchpad para instalar solamente los
controladores ODBC para Cloudscape, el Centro de control de DB2 no estará
disponible y no podrá utilizarlo para comprobar los cambios en las tablas
de base de datos del ejemplo del Manejador de errores.
Cuando ejecute el ejemplo, puede aparecer un mensaje como, por ejemplo, Referencia de tabla
de datos sin posibilidad de resolución
T.CLASSTYPE en la vista Problemas. Este aviso indica que no se han importado al proyecto
definiciones para las tablas de base de datos. Esto no afecta al comportamiento del ejemplo durante la ejecución.
Si tiene problemas al ejecutar el ejemplo, consulte el apartado
Diagnóstico de problemas.
Ejecutar el ejemplo con el mensaje que contiene un número de personal válido:
Para ejecutar el ejemplo con el mensaje que contiene un número de personal válido:
- Desde el Kit de herramientas de Message Brokers vaya a la perspectiva Desarrollo de aplicación de intermediario.
- En la vista Navegador de recursos, efectúe una doble pulsación en
staffmsg.enqueue. El archivo staffmsg.enqueue se abre en
el Editor de colocación en cola. Compruebe que el campo Puerto contiene el valor
2414.
- En el editor de colocación en cola, pulse en Grabar en cola. El mensaje
que contiene el número de personal válido se transfiere a la cola
STAFF_IN.
- Observe el resultado:
- Vea la tabla STAFF en la base de datos STAFFDB. La tabla se ha
actualizado con la información de personal del mensaje de entrada.
- Obtenga el mensaje de entrada de la cola STAFF_OUT. El mensaje de entrada se ha grabado en la cola de
salida.
Ejecutar el ejemplo con el mensaje que contiene un número de personal no válido
Para ejecutar el ejemplo con el mensaje que contiene un número de personal no válido:
- Abra invalidstaffmsg.enqueue en el editor de
colocación en cola. Compruebe que el campo Puerto contiene el valor
2414 y, a continuación, pulse
Escribir en la cola.
- Observe el resultado:
- Vea la tabla ERRORS en la base de datos ERRORDB. Los datos en los campos MSGID y MSGDATA de
la tabla ERRORS es del tipo de datos BLOB, que significa que no puede ver estos datos utilizando el Centro de control
de DB2. Sin embargo, puede ver los datos
utilizando el procesador de línea de mandatos de DB2:
- Inicie el procesador de línea de mandatos de DB2:
- En Windows, pulse en Inicio> Programas > IBM DB2 >
Herramientas de línea de mandatos > Procesador de línea de mandatos
- En Linux, en un indicador de shell, asegúrese de que está ejecutando como sentencia de DB2 y, a
continuación, escriba
db2
- Escriba los siguientes mandatos:
connect to ERRORDB
select * from ERRORS
Se visualizarán los datos de la tabla ERRORS. La tabla se ha actualizado con detalles del error.
- Obtenga el mensaje de entrada de la cola STAFF_FAIL. El mensaje de entrada se ha grabado en la cola
de anomalías.
Ejecutar el ejemplo con un número de personal válido y una cola con la transferencia inhibida
Para ejecutar el ejemplo con el mensaje que contiene un número de personal válido, pero la cola de salida
tiene la transferencia inhibida:
- Cambie la cola STAFF_OUT a inhibida para colocación:
- En WebSphere MQ Explorer, pulse en la carpeta Colas del gestor de colas
WBRK6_DEFAULT_QUEUE_MANAGER para visualizar las colas del gestor de colas.
- Pulse el botón derecho del ratón en la cola STAFF_OUT y a continuación pulse en
Propiedades. Se abre el diálogo Propiedades.
- En el diálogo Propiedades, en la lista Tansferir mensajes, pulse en
Inhibido y después en Aceptar.
- Abra staffmsg.enqueue en el editor de
colocación en cola. Compruebe que el campo Puerto contiene el valor
2414 y, a continuación, pulse
Escribir en la cola. El mensaje se transfiere a la cola
STAFF_IN.
El número de personal en el mensaje es válido y, por lo tanto, el mensaje pasa por el nodo Update Staff Database. Sin
embargo, no se puede transferir el mensaje a la cola STAFF-OUT y, por lo tanto, se genera un error y el mensaje se
restituye.
- Observe el resultado:
- Vea la tabla STAFF en la base de datos STAFFDB. Como la actualización de la base de datos se ha
restituido, no habrá ninguna entrada nueva en la tabla.
- Vea la tabla ERRORS en la base de datos ERRORDB. La tabla se ha actualizado con detalles del error.
- Obtenga el mensaje de entrada de la cola STAFF_FAIL. El mensaje de entrada se ha grabado en la cola
de anomalías.
Volver a la Página de presentación de ejemplos