2015-05-21 16 views
6

Tôi đang sử dụng Spring, Spring-Websocket, STOMP cho ứng dụng của tôi và RabbitMQ làm môi giới. Tôi cần phải đăng nhập tất cả các tin nhắn đi qua các bảng RabbitMQ tới Postgresql. Tôi biết rằng tôi có thể viết @MessageMapping vào mùa xuân và đăng nhập ở đó, nhưng vấn đề của tôi là một số khách hàng nói chuyện trực tiếp với RabbitMQ thông qua giao thức MQTT và Spring không hỗ trợ nó (https://jira.spring.io/browse/SPR-12581). Hơn nữa, các trình duyệt trình duyệt nói chuyện qua Spring tới RabbitMQ bằng giao thức STOMP.Làm thế nào để có được đúng tất cả các tin nhắn xếp hàng từ RabbitMQ trong mùa xuân?

RabbitMQ cho phép theo dõi tất cả thư bằng trình theo dõi Firehose. Làm thế nào để lắng nghe đúng chủ đề amq.rabbitmq.trace từ Spring? Hay tôi cần phải viết ứng dụng Java riêng biệt làm người tiêu dùng?

+0

tôi không hiểu bạn cần phải làm điều đó với mùa xuân. chỉ cần cấu hình rabbitmq để làm điều đó .. – Jaiwo99

+0

Tôi cần phải viết thư cho DB để bàn khác nhau –

+1

hmm .. sau đó IMO bạn cần một ứng dụng để làm điều đó. bạn chắc chắn cũng có thể đặt người tiêu dùng này trong số những người tiêu dùng khác. các docu từ rabbitmq mô tả khá tốt (https://www.rabbitmq.com/firehose.html), có một cái nhìn, nếu câu hỏi của bạn là nếu mùa xuân amqp có tính năng này ra khỏi hộp, sau đó câu trả lời là không. – Jaiwo99

Trả lời

1

Spring AMQP là dành cho bạn!

Bạn ràng buộc một số tùy chỉnh queue đến với amq.rabbitmq.trace với mô hình thích hợp (ví dụ publish.#) và cấu hình SimpleMessageListenerContainer để nhận tin nhắn từ hàng đợi đó.

Có thể thực hiện ngay cả với cấu hình khá đơn giản: @EnableRabbit@RabbitListener trên một số phương thức POJO. Dù sao, Binding@Bean phải ở đó để thỏa hiệp hàng đợi của bạn với cuộc trao đổi đó.

+0

Vâng. Tôi không giỏi trong Spring WebSocket Broker Relay và không chắc rằng nó sẽ hoạt động, nhưng bạn có thể thử 'subscribe' như thế này:'/topic/exchange/amq.rabbitmq.trace/publish. # ' –

+0

Xem thêm thông tin ở đây: https://www.rabbitmq.com/stomp.html –

+0

Bạn có thể sử dụng AMQP để nghe Rabbit và Stomp Broker relay để phục vụ khách hàng trong một ứng dụng không? –

Các vấn đề liên quan