Versión:
spring-rabbit-1.6.10.RELEASE
spring-boot-autoconfigure-1.3.7.RELEASE
Al usar RabbitMQ, encontré un problema.Después de enviar un mensaje, descubrí que hay múltiples consumidores, y este consumidor no es el Oyente que escribí.
Para encontrar la IP y el puerto de este consumidor, necesito ver qué consumidores están actualmente en esta cola.
Acceda directamente a la interfaz de administración de RabbitMQ http://localhost:15672 y encuentre un problema que indica que algunos consumidores no se mostrarán aquí.
Y en muchos casos, la lista de consumidores está vacía, de la siguiente manera:
¿Cómo puedo ver la lista de consumidores actualmente registrados? Investigué la documentación de la API y encontré una manera eficiente.
Al acceder a la interfaz http://localhost:15672/api/consumers, puede registrar a todos los consumidores en el RabbitMQ actual.
{
"arguments": {},
"prefetch_count": 1,
"ack_required": true,
"exclusive": false,
"consumer_tag": "amq.ctag-ggdoNEKhLKNpb3XoWNmyzhQ",
"queue": {
"name": "XXXX_XXXX_QUEUE",
"vhost": "dev"
},
"channel_details": {
"name": "127.0.0.1:26290 -> 1127.0.0.2:5672 (13)",
"number": 13,
"user": "guest",
"connection_name": "127.0.0.1:26290 -> 1127.0.0.2:5672",
"peer_port": 26290,
"peer_host": "127.0.0.3"
}
}
Tome los siguientes datos como ejemplo, peer_host y peer_port son la IP y el puerto del consumidor
Con la interfaz /api/consumers, puede consultar los siguientes datos sin procesar y puede ver la lista actual de todos los consumidores.
Los consumidores que no se muestran en la interfaz de administración http://localhost:15672, esta interfaz también regresará. Por lo tanto, es más confiable usar esta interfaz para la localización de problemas.
De esta forma, se identificó con éxito al consumidor no invitado y se resolvió el problema.
Además, el documento http://localhost:15672/api es la fuente de datos de la interfaz de administración de RabbitMQ. Son los datos más originales y son más completos y confiables.
Aunque la interfaz visual es conveniente, también hay algunos problemas. Por tanto, a la hora de usarlo, tenemos que elegir de forma selectiva.
También se puede acceder desde la línea de comando:
:: Windows
C:> curl -i -u guest:guest http://localhost:15672/api/vhosts
# Unix
$ curl -i -u guest:guest http://localhost:15672/api/vhosts
HTTP/1.1 200 OK
Server: MochiWeb/1.1 WebMachine/1.10.0 (never breaks eye contact)
Date: Mon, 16 Sep 2013 12:00:02 GMT
Content-Type: application/json
Content-Length: 30
[{"name":"/","tracing":false}]
Para obtener más información, visite la API HTTP de administración de RabbitMQ: http://localhost:15672/api