WebSockets, Sockjs, Stomp, Spring, RabbitMQ, eliminar las colas específicas del usuario automáticamente
-
21-12-2019 - |
Pregunta
Espero que alguien pueda ayudarme con este problema: utilizo el soporte de STELDSocket de la primavera.Con sockjs y stompjs, suscribo una cola como esta:
var socket = new SockJS(localhost + 'websocket');
stompClient = Stomp.over(socket);
stompClient.connect('', '', function(frame) {
stompClient.subscribe("/user/queue/gotMessage", function(message) {
gotMessage((JSON.parse(message.body)));
});
}, function(error) {
});
Esto funciona muy bien con las simpMessagessingeroperations de la primavera.Pero hay un gran problema.El nombre de la cola se ve así: gotmessage-user3w4tstcj y no se declara como una cola de eliminación automática, pero esto es lo que quiero.De lo contrario tengo 10k de colas no utilizadas.En ese momento, donde la cola no tiene consumidor, la cola debe ser eliminada.¿Cómo puedo asumir esto?
Solución
tuvo el mismo problema, de la documentación:
RabbitMQ crea colas de eliminación automática cuando los destinos como /exchange/amq.direct/position-updates se utilizan.Así que en ese caso el El cliente podría suscribirse a /user/exchange/amq.direct/position-updates
Recuerde agregar '/exchange/
' como prefijo de destino en la configuración del relé de broker STOMPT