Anulación del registro de una suscripción

Se puede anular el registro de una o varias suscripciones de un suscriptor determinado utilizando el mensaje de mandato de Deregister Subscriber. Este mensaje se envía a la cola de control del intermediario SYSTEM.BROKER.CONTROL.QUEUE. El mensaje debe enviarlo el suscriptor que registró la suscripción en primer lugar.

Hay otras maneras de anular el registro de una suscripción, las cuales se enumeran a continuación.

Cuando una aplicación de suscriptor envía un mensaje para anular el registro de una suscripción y recibe un mensaje de respuesta que indica que su petición se ha procesado correctamente, algunas publicaciones pueden llegar a la cola de suscriptores posteriormente si el intermediario las estaba procesando al mismo tiempo que se anuló el registro. Esto puede ocasionar una acumulación de mensajes no procesados en la cola de suscriptores. La aplicación puede borrar de la cola estos mensajes no procesados suspendiendo y enviando repetidamente una llamada MQGET con el CorrelId adecuado.

De forma similar, si el suscriptor utiliza una cola dinámica permanente y, al terminar, anula el registro de la cola y la cierra con la opción PurgeandDelete, es posible que la cola no esté vacía. Esto se debe a que las publicaciones de intermediario podían estar todavía pendientes de confirmación en el momento en que se suprimió la cola. En este caso, la llamada MQCLOSE emite un código de retorno Q_NOT_EMPTY. La aplicación puede evitar este problema suspendiendo y volviendo a emitir repetidamente la llamada MQCLOSE.

Conceptos relacionados
Suscripciones

Tareas relacionadas
Utilización de publicaciones retenidas
Suscripciones

Referencia relacionada
Mensaje de Deregister Subscriber