El mensaje de mandato de petición de actualización se envía de un suscriptor a un intermediario para solicitar las publicaciones retenidas actuales para el tema y punto de suscripción especificados que coincidan con el filtro indicado (opcional).
Este mensaje se envía a SYSTEM.BROKER.CONTROL.QUEUE, la cola de control del intermediario. Se necesita autorización para colocar un mensaje en esta cola, además de autorización de acceso para el tema en la petición de actualización; esto lo establece el administrador del sistema del intermediario.
Normalmente, este mandato se utiliza si el suscriptor ha especificado la opción PubOnReqOnly al registrarse. Si el intermediario tiene alguna publicación retenida coincidente, se enviará al suscriptor. Si el intermediario no tiene ninguna publicación retenida coincidente, la petición no se ejecuta correctamente y devuelve el código de retorno MQRCCF_NO_RETAINED_MSG. El peticionario ha de haber registrado previamente una suscripción con los mismos valores para Topic, SubPoint y Filter.
Esta propiedad ha de especificarse, pero sólo puede aparecer una vez en el mensaje.
Si se omite esta propiedad, el valor por omisión es el punto de suscripción utilizado.
La propiedad <Filter> ha de tener el mismo valor que el que se especificó en la suscripción original para la cual está solicitando ahora una actualización.
Si se omite esta propiedad, no se produce ningún filtrado del contenido.
El CorrelId del descriptor de mensaje (MQMD), que no puede ser cero, se utiliza para enviar publicaciones coincidentes a la cola de suscriptores.
Todas las opciones adoptan su valor por omisión. Esto tiene el mismo efecto que omitir la propiedad <RegOpt>. Si se especifican otras opciones simultáneamente, None se ignora.
Cuando se especifica la identidad del suscriptor (cola, gestor de colas e id de correlación), no está limitada a un solo ID de usuario. Esto difiere del comportamiento existente del intermediario que asocia el ID de usuario del mensaje de registro original a la identidad del suscriptor y que, a partir de ese momento, impide que ningún otro usuario utilice dicha identidad. Si un nuevo suscriptor intenta utilizar la misma identidad, el mandato no se ejecuta correctamente y devuelve el código de retorno MQRCCF_DUPLICATE_SUBSCRIPTION.
Esto permite a cualquier usuario modificar la suscripción o anular su registro si tiene la autorización adecuada. Por lo tanto, no es necesario comprobar si el ID de usuario es el del suscriptor original.
Para añadir esta opción a una suscripción existente, el mandato ha de proceder del mismo ID de usuario que la suscripción original.
Si la suscripción del mandato de petición de actualización tiene establecido VariableUserId, esto ha de establecerse en el momento de solicitar la petición de actualización para indicar a qué suscripción se refiere. De lo contrario, se utiliza el ID de usuario del mandato de petición de actualización para identificar la suscripción. Esto queda anulado, junto con los demás identificadores de suscriptor, si se facilita un nombre de suscripción.
El valor por omisión, si se omite esta propiedad, es que no se establece ninguna opción de registro.
Si se omite esta propiedad, el valor por omisión es el nombre del gestor de la cola de respuestas (ReplyToQMgr) que hay en el descriptor del mensaje (MQMD). Si el nombre resultante está en blanco, se adopta por omisión el nombre del gestor de colas (QMgrName) del intermediario.
Si se omite esta propiedad, el valor por omisión es el nombre de la cola de respuestas (ReplyToQ) en el descriptor del mensaje (MQMD), que no ha de estar en blanco en este caso.
Si se ha establecido VariableUserId y el ID de usuario difiere del de la suscripción, el mandato se ejecuta correctamente si el ID de usuario del nuevo mensaje de mandato tiene autorización para examinar la cola de corriente de datos y colocar datos en la cola de suscriptores de la suscripción. De lo contrario, el mandato no se ejecuta correctamente y devuelve el código de retorno MQRCCF_NOT_AUTHORIZED.
Si existe una suscripción que coincida con la identidad tradicional de este mandato, pero no tiene SubName, el mandato de petición de actualización no se ejecuta correctamente y devuelve el código de retorno MQRCCF_SUB_NAME_ERROR.
Si se intenta solicitar una actualización de una suscripción que tiene un SubName utilizando un mensaje de mandato que coincida con la identidad tradicional pero sin especificar ningún SubName, el mandato se ejecuta correctamente.
<psc> <Command>ReqUpdate</Command> <RegOpt>CorrelAsId</RegOpt> <Topic>Sport/Soccer/State/LatestScore/#</Topic> </psc>