Coding a Consumer

Learn how to write a RabbitMQ consumer.

Writing a RabbitMQ consumer

With the producer nicely defined in a WebFlux controller, it’s time to switch gears and focus on writing a RabbitMQ consumer. Spring AMQP actually has multiple options. The absolute simplest approach available is to use AmqpTemplate.receive(queueName). It’s probably not the best solution, though, especially for high-volume environments.

@Service //1
public class SpringAmqpItemService {
private static final Logger log =
LoggerFactory.getLogger(SpringAmqpItemService.class);
private final ItemRepository repository; //2
public SpringAmqpItemService(ItemRepository repository) {
this.repository = repository;
}
}
Consuming AMQP messages reactively

Here’s a breakdown of the code above:

  1. In line 1, @Service ensures that an instance of this class is created when launched.

  2. In line 7, the ItemRepository is injected through constructor injection. ...