2015-05-21 37 views
6

Uygulamam için Spring, Spring-Websocket, STOMP ve broker olarak RabbitMQ kullanıyorum. RabbitMQ'den Postgresql tablolarına giden tüm iletileri kaydetmem gerekiyor. Ben ilkbaharda @MessageMapping yazmak ve orada oturum açabilir biliyorum, ama benim sorunum bazı müşteriler doğrudan MQTT protokolü üzerinden RabbitMQ konuşmak ve Bahar henüz (https://jira.spring.io/browse/SPR-12581) bunu desteklemiyor olması. Ayrıca tarayıcı istemcileri, STOMP protokolünü kullanarak Spring'ten RabbitMQ'ye konuşur.İlkbaharda RabbitMQ dan tüm kuyruk iletileri düzgün nasıl alınır?

RabbitMQ Firehose izleyici kullanarak tüm iletileri izlemesine olanak tanır. Bahardan amq.rabbitmq.trace konusunu nasıl düzgün dinleyebilirim? Ya da ayrı bir Java uygulamasını tüketici olarak yazmam gerekiyor mu?

+0

i bahar ile yapmak gerekir anlamıyorum. Sadece bunu yapmak için RabbitMQ yapılandırmak .. Ben farklı tablolarda – Jaiwo99

+0

.. sonra IMO bunu yapmak için bir uygulama gerekir. Kesinlikle bu tüketiciyi diğer tüketiciler arasına da koyabilirsiniz. rabbitmq gelen docu oldukça iyi açıklar (https://www.rabbitmq.com/firehose.html), eğer bir soru varsa, eğer amqp bu özelliği kutunun dışında ise, o zaman cevap hayır. –

+1

hmm için DB yazmak gerekir – Jaiwo99

cevap

1

Spring AMQP size göre!

Sen (örn publish.#) uygun desenle o amq.rabbitmq.trace ila bazı özel queue bağlamak ve bu kuyrukta mesaj almak SimpleMessageListenerContainer yapılandırmak .

Hatta oldukça basit yapılandırma ile yapılabilir: @EnableRabbit ve @RabbitListener bazı POJO yöntemine. Her neyse, Binding@Bean, bu değiş tokuşu kuyruğunuza bağlamak için orada olmalıdır.

+0

Eh. Spring WebSocket Broker Relay'de iyi değilim ve çalışacağından emin değilim, ancak 'subscribe' gibi şunu deneyebilirsiniz: '/ topic/exchange/amq.rabbitmq.trace/publish.' ' –

+0

Daha fazla bilgi gör https://www.rabbitmq.com/stomp.html –

+0

Tek bir uygulamada müşterilere hizmet vermek için Tavşan ve Stomp Broker rölesini dinlemek için AMQP kullanmak iyi mi? –