Uma ou mais assinaturas para um determinado assinante podem ter seu registro cancelado utilizando a mensagem do comando Deregister Subscriber. Esta é enviada para a fila de controle do intermediário, SYSTEM.BROKER.CONTROL.QUEUE. A mensagem deve ser enviada pelo assinante que registrou a assinatura em primeiro lugar.
Existem outras formas de cancelar o registro de uma assinatura listadas a seguir.
Quando um aplicativo de assinante envia uma mensagem para cancelar o registro de uma assinatura e recebe uma mensagem de resposta para dizer que isso foi processado com êxito, algumas publicações podem alcançar subseqüentemente a fila do assinante se elas estavam sendo processadas pelo intermediário ao mesmo tempo que o cancelamento do registro da assinatura. Isso pode resultar em um acúmulo de mensagens não processadas na fila do assinante. Essas mensagens não processadas podem ser limpas da fila pelo aplicativo repousando repetidamente e enviando uma chamada MQGET com o CorrelId apropriado.
De forma semelhante, se o assinante utilizar uma fila dinâmica permanente e, ao finalizar, cancelar o registro e fechar a fila com a opção PurgeandDelete, a fila pode não estar vazia. Isso porque as publicações do intermediário podem não ter sido consolidadas ainda no momento em que a fila foi excluída. Nesse caso, um código de retorno Q_NOT_EMPTY é emitido pela chamada de MQCLOSE. O aplicativo pode evitar esse problema repousando repetidamente e emitindo novamente a chamada MQCLOSE.
Conceitos relacionados
Assinaturas
Tarefas relacionadas
Utilizando Publicações Retidas
Assinando
Referências relacionadas
Mensagem Deregister Subscriber
Avisos |
Marcas |
Downloads |
Biblioteca |
Suporte |
Feedback
![]() ![]() |
aq13060_ |