Я настраиваю пример, чтобы проверить, может ли RabbitMQ решить мою проблему, и я столкнулся с проблемой.
Задача: у меня есть 3 машины за шлюзом, и только у одной из них есть необходимые данные для обработки сообщения.Это я хочу решить с проверкой состояния.
Проблема: я попытался настроить несколько прослушивателей для эмуляции ситуации, как если бы несколько машин принимали сообщение.
@RabbitListener(queues = "spring-boot")
public void receiveMessage1(String message) {
if(canProcess()){
System.out.println("Received 1 <" + message + ">");
}
}
@RabbitListener(queues = "spring-boot")
public void receiveMessage2(String message) {
if(canProcess()){
System.out.println("Received 2 <" + message + ">");
}
}
Однако только один случайный слушатель обрабатывает сообщение.Другие просто не понимают этого.У меня есть способ, которым все слушатели потребляют его, и я сам решаю, какой из них обрабатывает его методом canProcess?