| Anterior | Siguiente |
| MQ_ERROR_ILLEGAL_CURSOR_ACTION | MQ_ERROR_ILLEGAL_FORMATNAME |
MQ_ERROR_MESSAGE_ALREADY_RECEIVED
Qué significa MQ_ERROR_MESSAGE_ALREADY_RECEIVED en Message Queuing
MQ_ERROR_MESSAGE_ALREADY_RECEIVED aparece cuando el mensaje apuntado por el cursor ya fue retirado de la cola por otra recepción. El punto importante para el diagnóstico es el siguiente: el foco técnico es mensaje.
Evidencia que conviene conservar
- Conserva lookup id, label, transaction id y posición de cursor para detectar consumo concurrente o desaparición.
- Si existe status por propiedad o un error Win32/CryptoAPI/LDAP interno, úsalo como evidencia principal y no te quedes solo con el HRESULT exterior.
- Anota la API que devolvió
MQ_ERROR_MESSAGE_ALREADY_RECEIVEDy el estado del objeto justo antes de esa llamada.
Recuperación
Evita retries ilimitados: corrige primero la precondición que expresa el HRESULT y conserva evidencia de que la siguiente ejecución parte de un estado conocido.
La comprobación decisiva es demostrar que el mensaje apuntado por el cursor ya fue retirado de la cola por otra recepción. Si esa condición no aparece en la evidencia, busca un HRESULT vecino o el error interno que explique mejor el caso.
Referencias
¿Buscas un código diferente? Buscar otro código de estado o error.
