El mensaje de mandato de Request Update se envía desde un suscriptor a un intermediario para solicitar las publicaciones retenidas actuales para el tema y el punto de suscripción especificados que coinciden con el filtro (opcional) en cuestión.
Este mensaje se envía a SYSTEM.BROKER.CONTROL.QUEUE, la cola de control del intermediario. Para transferir un mensaje a esta cola, es necesario tener autorización, además de autorización de acceso al tema de la actualización de la petición; esto lo define el administrador del sistema del intermediario.
Normalmente, este mandato se utiliza si el suscriptor especificó la opción PubOnReqOnly al registrarse. Si el intermediario tiene alguna publicación retenida coincidente, ésta se envía al suscriptor. Si el intermediario no tiene ninguna publicación retenida coincidente, la petición falla con el código de retorno MQRCCF_NO_RETAINED_MSG. El peticionario deberá haber registrado previamente una suscripción con los mismos valores de Topic, SubPoint y Filter.
Esta propiedad debe especificarse, pero sólo puede aparecer una vez en este mensaje.
Si se omite esta propiedad, se utiliza el punto de suscripción por omisión.
La propiedad <Filter> deberá tener el mismo valor que la propiedad especificada en la suscripción original para la que el usuario solicita una actualización.
Si se omite esta propiedad, el filtrado de contenido no se lleva a cabo.
El CorrelId del descriptor de mensaje (MQMD), que no debe ser cero, se utiliza al enviar publicaciones coincidentes a la cola de suscriptores.
Todas las opciones toman los valores por omisión correspondientes. Esto tiene el mismo efecto que omitir la propiedad <RegOpt>. Si se especifican otras opciones al mismo tiempo, se omite None.
Si se especifica, la identidad del suscriptor (cola, gestor de colas e IDCorrel) no se restringe a un solo ID de usuario. Esto difiere del comportamiento existente del intermediario que asocia el ID de usuario del mensaje de registro original con la identidad del suscriptor y, a partir de ese momento, evita que cualquier otro usuario utilice esa identidad. Si un nuevo suscriptor intenta utilizar la misma identidad, el mandato falla con el código de retorno MQRCCF_DUPLICATE_SUBSCRIPTION.
Esto permite que cualquier usuario pueda modificar la suscripción, o anular el registro de la misma, si dispone de la autorización adecuada. Por lo tanto, no hay necesidad de comprobar que el ID de usuario coincida con el ID del suscriptor original.
Para agregar esta opción a una suscripción existente, el mandato debe proceder del mismo ID de usuario que el de la suscripción original.
Si la suscripción del mandato Request Update tiene establecido el valor VariableUserId, deberá establecerse a la hora de petición de actualización para indicar la suscripción a la que se hace referencia. De lo contrario, el ID de usuario del mandato Request Update se utilizará para identificar la suscripción. Este ID se alterará temporalmente, junto con los otros identificadores de suscriptor, si se especifica un nombre de suscripción.
Si se omite esta propiedad, el valor por omisión es que no se establezca ninguna opción de registro.
Si se omite esta propiedad, el valor por omisión es el nombre de ReplyToMgr del descriptor de mensaje (MQMD). Si el nombre resultante está en blanco, toma como valor por omisión el QMgrName del intermediario.
Si se omite esta propiedad, el valor por omisión es el nombre de la ReplyToQ del descriptor de mensaje (MQMD), que en este caso no debe estar en blanco.
Si se establece 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 transferir datos a la cola de suscriptores de la suscripción. De lo contrario, el mandato falla con el código de retorno MQRCCF_NOT_AUTHORIZED.
Si existe una suscripción que coincide con la identidad tradicional de este mandato pero no tiene ningún SubName, el mandato Request Update falla con el código de retorno MQRCCF_SUB_NAME_ERROR.
Si se intenta solicitar la actualización de una suscripción que tiene un SubName utilizando un mensaje de mandato que coincida con la identidad tradicional pero sin que haya un SubName especificado, el mandato se ejecuta correctamente.
<psc> <Command>ReqUpdate</Command> <RegOpt>CorrelAsId</RegOpt> <Topic>Sport/Soccer/State/LatestScore/#</Topic> </psc>
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
aq07000_ |