Mensagem Pedido de Atualização

A mensagem de comando Pedido de Atualização é enviada de um assinante a um intermediário para pedir as publicações retidas atuais para o tópico e ponto de assinatura especificados que correspondam ao filtro (opcional) dado.

Essa mensagem é enviada a SYSTEM.BROKER.CONTROL.QUEUE, a fila de controle do intermediário. É requerida autoridade para colocar uma mensagem nessa fila, além de autoridade de acesso ao tópico no request update; isso é definido pelo administrador do sistema do intermediário.

Esse comando é utilizado em geral se o assinante tiver especificado a opção PubOnReqOnly quando se registrou. Se o intermediário tiver quaisquer publicações retidas correspondentes, elas serão enviadas ao assinante. Se o intermediário não tiver publicações retidas correspondentes, o pedido falhará com o código de retorno MQRCCF_NO_RETAINED_MSG. O solicitante deve ter registrado anteriormente uma assinatura com os mesmos valores de Topic, SubPoint e Filter.

Propriedades

<Comando> (MQPSC_COMMAND)
O valor é ReqUpdate (MQPSC_REQUEST_UPDATE). Essa propriedade precisa ser especificada.
<Tópico> (MQPSC_TOPIC)
O valor é o tópico que o assinante está solicitando; caracteres curinga são permitidos.

Essa propriedade precisa ser especificada, mas somente uma ocorrência é permitida nessa mensagem.

<SubPoint> (MQPSC_SUBSCRIPTION_POINT)
O valor é o ponto de assinatura ao qual a assinatura está anexada.

Se essa propriedade for omitida, o ponto de assinatura padrão será utilizado.

<Filtro> (MQPSC_FILTER)
O valor é uma expressão ESQL que é utilizada como um filtro no conteúdo de mensagens de publicação. Se uma publicação nos tópicos especificados corresponder ao filtro, ela será enviada ao assinante.

A propriedade <Filtro> deve ter o mesmo valor especificado na assinatura original para a qual você está solicitando agora uma atualização.

Se essa propriedade for omitida, não ocorrerá filtragem de conteúdo.

<RegOpt> (MQPSC_REGISTRATION_OPTION)
A propriedade registration options pode ter o seguinte valor:
CorrelAsId  
(MQPSC_CORREL_ID_AS_IDENTITY)

O CorrelId no descritor da mensagem (MQMD), o qual não pode ser zero, é utilizado ao enviar publicações correspondentes à fila do assinante.

Nenhum  
(MQPSC_NONE)

Todas as opções assumem seus valores padrão. Isso tem o mesmo efeito que omitir a propriedade <RegOpt>.Se outras opções forem especificadas ao mesmo tempo, Nenhuma será ignorada.

VariableUserId  
(MQPSC_VARIABLE_USER_ID)

Quando especificado, a identidade do assinante (fila, gerenciador de filas e correlid) não será restrita a um único ID do usuário. Isso difere do comportamento existente do intermediário que associa o ID do usuário da mensagem de registro original à identidade do assinante e a partir daí impede que outros usuários utilizem essa identidade. Se um novo assinante tentar utilizar a mesma identidade, o comando falhará com o código de retorno MQRCCF_DUPLICATE_SUBSCRIPTION.

Isso permite a qualquer usuário modificar a assinatura ou cancelar seu registro quando tiver autoridade apropriada. Portanto, não há necessidade de verificar se o ID do usuário corresponde ao do assinante original.

Para incluir esta opção a uma assinatura existente o comando deve vir do mesmo ID do usuário da assinatura original.

Se a assinatura do comando Pedido de Atualização tiver VariableUserId definido, este deve ser definido no tempo de atualização do pedido para indicar a qual assinatura se refere. Caso contrário, o ID do usuário do comando Pedido de Atualização será utilizado para identificar a assinatura. Isso é substituído, junto com os outros identificadores do assinante, se for fornecido um nome de assinatura.

O padrão, se essa propriedade for omitida, é que nenhuma opção de registro seja definida.

<QMgrName> (MQPSC_Q_MGR_NAME)
O valor é o nome do gerenciador de filas para a fila do assinante, ao qual a publicação retida correspondente é enviada pelo intermediário.

Se essa propriedade for omitida, o padrão é o nome de ReplyToQMgr no descritor da mensagem (MQMD). Se o nome resultante estiver em branco, ele assumirá o padrão do QMgrName do intermediário.

<QName> (MQPSC_Q_NAME)
O valor é o nome da fila do assinante, à qual a publicação retida correspondente é enviada pelo intermediário.

Se essa propriedade for omitida, o padrão é o nome de ReplyToQ no descritor da mensagem (MQMD), o qual não pode estar em branco neste caso.

<SubName> (MQPSC_SUBSCRIPTION_NAME)
Este é um nome dado a uma determinada assinatura. Se especificado em um comando Pedido de Atualização o valor de SubName terá precedência sobre todos os outros campos do identificador exceto o ID do usuário, a menos que VariableUserId esteja definido na própria assinatura. Se VariableUserId não estiver definido, o comando Pedido de Atualização obterá êxito somente se o ID do usuário da mensagem de comando corresponder ao da assinatura. Se o ID do usuário da mensagem de comando não corresponder ao da assinatura, o comando falhará com o código de retorno MQRCCF_DUPLICATE_IDENTITY.

Se VariableUserId for definido e o ID do usuário diferir do da assinatura, o comando obterá êxito se o ID do usuário da nova mensagem de comando tiver autoridade para procurar na fila do fluxo e colocar na fila do assinante da assinatura. Caso contrário, o comando falhará com o código de retorno MQRCCF_NOT_AUTHORIZED.

Se existir uma assinatura que corresponda à identidade tradicional desse comando, mas não tiver SubName, o comando Pedido de Atualização falhará com o código de retorno MQRCCF_SUB_NAME_ERROR.

Se for feita uma tentativa de pedir uma atualização de uma assinatura que tenha um SubName utilizando uma mensagem de comando que corresponda à identidade tradicional mas sem SubName especificado, o comando obterá êxito.

Exemplo

Exemplo de NameValueData para uma mensagem de comando Pedido de Atualização. No aplicativo de amostra, o serviço results utiliza essa mensagem para pedir publicações retidas contendo os últimos placares para todas as equipes. A identidade do assinante, incluindo o CorrelId é obtida dos padrões no MQMD.
 <psc>
    <Command>ReqUpdate</Command>
    <RegOpt>CorrelAsId</RegOpt>
    <Topic>Sport/Soccer/State/LatestScore/#</Topic>
 </psc>
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
aq07000_