Saltar al contenido

¿Cómo puedo comprobar si existe o no una cola de mensajes de RabbitMQ?

Si hallas algún fallo en tu código o trabajo, recuerda probar siempre en un entorno de testing antes subir el código al trabajo final.

Solución:

No te molestes en comprobar.

cola.declarar es una operación idempotente. Entonces, si lo ejecuta una, dos, N veces, el resultado seguirá siendo el mismo.

Si desea asegurarse de que la cola existe, simplemente declárela antes de usarla. Asegúrese de declararlo con la misma durabilidad, exclusividad y eliminación automática cada vez; de lo contrario, obtendrá una excepción.

Si realmente necesita verificar si existe una cola (normalmente no debería necesitarlo), haga una declaración pasiva de la cola. Esa operación tiene éxito si la cola existe, o falla en un error si no existe.

Esto no funcionará en situaciones en las que haya otra persona (otra aplicación) responsable de la declaración q. Y simplemente no podía saber todos los parámetros de la q, solo el nombre.

Preferiría usar pasivaDeclarar y verificar la IOException de que la q no existe

Actualmente puede conocer esa información y mucho más a través de la API HTTP de RabbitMQ Management.

Por ejemplo, para saber si una cola está activa en este momento, puede invocar a GET /api/colas/vhost/nombre interfaz de la API.

Si tienes algún recelo o capacidad de progresar nuestro crónica te insinuamos realizar una aclaración y con placer lo leeremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *