Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

413
Views
Consumir mensajes de la cola de RabbitMQ usando Spring Cloud Stream 3.0+

Tengo un productor que produce mensajes en una cola de RabbitMQ mediante un intercambio directo.

nombre de cola: TEMP_QUEUE , nombre de intercambio: TEMP_DIRECT_EXCHANGE

Producir en esta cola es fácil ya que en mi aplicación de productor uso Spring AMQP con el que estoy familiarizado.

En mi aplicación Consumer, necesito usar Spring cloud stream versión 3.0+.

Quiero evitar el uso de anotaciones heredadas como @EnableBinding , @StreamListener porque están a punto de quedar obsoletas.

El código heredado para mi aplicación se vería así:

 @EnableBinding(Bindings.class) public class TempConsumer { @StreamListener(target = "TEMP_QUEUE") public void consumeFromTempQueue(MyObject object) { // do stuff with the object } } public interface Bindings { @Input("TEMP_QUEUE") SubscribableChannel myInputBinding(); }

De sus documentos he descubierto que puedo hacer algo así

 @Bean public Consumer<MyObject> consumeFromTempQueue() { return obj -> { // do stuff with the object }; }

No me queda claro cómo especifico que este bean se consumirá de TEMP_QUEUE . Además, ¿qué pasa si quiero consumir de varias colas?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Debe usar application.yml para vincular su bean.

 spring.cloud.stream: function.definition: consumeFromTempQueue

Puede usar esta configuración para configurar la fuente, el proceso y el sumidero también. En su caso, solo está utilizando una fuente.

Puedes leer este post para más información.

over 4 years ago · Santiago Trujillo Report

0

Consulte Consumo de colas/intercambios existentes .

Puede consumir de varias colas con

 spring.cloud.stream.bindings.consumeFromTempQueue-in-0.destination=q1,q2,q3 spring.cloud.stream.bindings.consumer.multiplex=true

Sin múltiplex obtendrá 3 enlaces; con multiplex, obtendrá 1 contenedor de escucha escuchando múltiples colas.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!