2015-05-21 8 views
6

Utilizzo Spring, Websocket Spring, STOMP per la mia applicazione e RabbitMQ come broker. Devo registrare tutti i messaggi che attraversano RabbitMQ alle tabelle Postgresql. So che posso scrivere @MessageMapping in Spring e loggarvi, ma il mio problema è che alcuni client parlano con RabbitMQ direttamente attraverso il protocollo MQTT, e Spring non lo supporta ancora (https://jira.spring.io/browse/SPR-12581). Inoltre, i client browser parlano da Spring a RabbitMQ usando il protocollo STOMP.Come ottenere correttamente tutti i messaggi in coda da RabbitMQ in primavera?

RabbitMQ consente di tracciare tutti i messaggi utilizzando il tracciante Firehose. Come ascoltare correttamente l'argomento amq.rabbitmq.trace di Spring? O devo scrivere app Java separata come consumatore?

+0

Non capisco, devi farlo con la molla. basta configurare rabbitmq per farlo .. – Jaiwo99

+0

Ho bisogno di scrivere su DB su diverse tabelle –

+1

hmm .. poi IMO hai bisogno di un'applicazione per farlo. puoi certamente mettere questo consumatore anche tra gli altri consumatori. il docu di rabbitmq descrive abbastanza bene (https://www.rabbitmq.com/firehose.html), date un'occhiata, se la vostra domanda è se spring amqp ha questa caratteristica fuori dalla scatola, allora la risposta è no. – Jaiwo99

risposta

1

Il Spring AMQP è per voi!

È associare alcuni personalizzato queue a quella amq.rabbitmq.trace con il modello appropriato (per esempio publish.#) e configurare SimpleMessageListenerContainer ricevere messaggi da quella coda.

Può essere eseguito anche con una configurazione abbastanza semplice: @EnableRabbit e @RabbitListener su un metodo POJO. Ad ogni modo lo Binding@Bean deve essere lì per addossare la coda a quella borsa.

+0

Bene. Non sono bravo in Spring WebSocket Broker Relay e non sono sicuro che funzionerà, ma puoi provare a 'iscriverti 'in questo modo:'/topic/exchange/amq.rabbitmq.trace/publish. # ' –

+0

Ulteriori informazioni qui: https://www.rabbitmq.com/stomp.html –

+0

È corretto usare AMQP per ascoltare Rabbit e il relè Stomp Broker per servire i client in un'unica applicazione? –

Problemi correlati