Ampliar el ejemplo de Examen de colas de WebSphere MQ

Puede ampliar el ejemplo para aprender más sobre el examen de las colas de WebSphere MQ. Utilice las instrucciones siguientes para averiguar cómo puede ampliar el ejemplo.

Mejorar el rendimiento al eliminar un mensaje examinado

En el flujo de mensajes BrowseGet, se ha utilizado un nodo MQGet para eliminar el mensaje examinado de la cola de entrada, cuando el número de empleado era igual a 2. Utilizando las opciones de nodo predeterminadas, el mensaje de entrada se lee y analiza para las operaciones examinar y obtener. Puesto que el mensaje original no se ha modificado entre la operación examinar y la operación obtener, no es necesario un nuevo análisis. Establezca las propiedades siguientes del nodo MQGet:

El resultado de realizar estos cambios en las propiedades:

Comprobar si el mensaje se ha examinado

Es posible asegurarse de si el mensaje de entrada se ha examinado o eliminado del diseño de su flujo de mensajes. No obstante, en algunos casos, puede que no sea posible detectar si el mensaje se ha examinado. Un intento de eliminar un mensaje que ya se ha eliminado es un paso redundante que implica utilizar un nodo MQGet para propagar el mensaje al terminal NoMsg.

Puede añadir la siguiente comprobación antes de entrar el nodo MQGet para determinar si el mensaje ya se ha examinado:

LocalEnvironment.MQ.GET.Browsed = TRUE

El campo LocalEnvironment.MQ.GET.Browsed no está presente para los mensajes que todavía no se han examinado.

Volver a examinar los mensajes

Es posible que desee que el nodo MQInput vuelva al inicio de la cola de entrada y examine desde el principio porque desea volver a examinar los mensajes o porque anteriormente faltaban algunos mensajes. Por ejemplo, se pueden perder mensajes si la cola tiene un atributo MsgDeliverySequence establecido en MQMDS_PRIORITY, y llega un mensaje a la cola con una prioridad más alta que la que especifica actualmente el cursor de examen.

Establezca la propiedad Restablecer tiempo de espera de examen (ms) del nodo MQInput para que sea un intervalo positivo en milisegundos. Si no llega ningún mensaje nuevo a la cola de entrada durante este intervalo, el nodo MQInput empieza a examinar desde el principio de la cola.

Si todavía tiene mensajes staffmsg1 en la cola, éstos se vuelven a examinar. No puede ver que los mensajes se vuelven a examinar a menos que modifique el flujo para procesarlos.

Volver a la página inicial del ejemplo