Coding a Consumer
Learn how to write a RabbitMQ consumer.
We'll cover the following...
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 //1public class SpringAmqpItemService {private static final Logger log =LoggerFactory.getLogger(SpringAmqpItemService.class);private final ItemRepository repository; //2public SpringAmqpItemService(ItemRepository repository) {this.repository = repository;}}
Consuming AMQP messages reactively
Here’s a breakdown of the code above:
-
In line 1,
@Service
ensures that an instance of this class is created when launched. -
In line 7, the
ItemRepository
is injected through constructor injection. ...