2015-05-21 12 views
6

Używam Spring, Spring-Websocket, STOMP dla mojej aplikacji i RabbitMQ jako brokera. Muszę zalogować wszystkie wiadomości przechodzące przez RabbitMQ do tabel Postgresql. Wiem, że mogę napisać @MessageMapping na wiosnę i zalogować się tam, ale moim problemem jest to, że niektórzy klienci rozmawiają z RabbitMQ bezpośrednio przez protokół MQTT, a Spring jeszcze go nie obsługuje (https://jira.spring.io/browse/SPR-12581). Ponadto klienci przeglądarek rozmawiają przez Spring do RabbitMQ przy użyciu protokołu STOMP.Jak poprawnie uzyskać wszystkie wiadomości kolejki z RabbitMQ na wiosnę?

RabbitMQ pozwala na śledzenie wszystkich wiadomości za pomocą znacznika Firehose. Jak poprawnie posłuchać tematu amq.rabbitmq.trace od wiosny? Czy muszę napisać osobną aplikację Java jako konsument?

+0

Nie rozumiem, że musisz to robić wiosną. po prostu skonfiguruj rabbitmq, aby to zrobić .. – Jaiwo99

+0

Muszę napisać do DB do różnych tabel –

+1

hmm .. następnie IMO potrzebujesz aplikacji, aby to zrobić. z pewnością można również umieścić tego konsumenta wśród innych konsumentów. dokument z rabbitmq opisuje całkiem dobrze (https://www.rabbitmq.com/firehose.html), spójrz, jeśli masz pytanie, czy wiosna amqp ma tę funkcję z pudełka, to odpowiedź brzmi "nie". – Jaiwo99

Odpowiedz

1

Spring AMQP jest dla Ciebie!

powiązać jakiś niestandardowy queue do tej amq.rabbitmq.trace z odpowiedniego wzoru (np publish.#) i skonfigurować SimpleMessageListenerContainer otrzymywać wiadomości z tej kolejki.

Można to zrobić nawet przy dość prostej konfiguracji: @EnableRabbit i @RabbitListener dla niektórych metod POJO. W każdym razie musi być tam Binding@Bean, aby dołączyć kolejkę do tej giełdy.

+0

Dobrze. Nie jestem dobry w Spring WebSocket Broker Relay i nie jestem pewien, czy to zadziała, ale możesz spróbować "zasubskrybować" w ten sposób: '/ topic/exchange/amq.rabbitmq.trace/publish. #' –

+0

Zobacz więcej informacji tutaj: https://www.rabbitmq.com/stomp.html –

+0

Czy można używać AMQP do słuchania Rabbit, a przekaźnik Stomp Broker do obsługi klientów w jednej aplikacji? –

Powiązane problemy