Jestem w stanie utworzyć wymianę fanoutów za pomocą tutoriala Java RabbitMQ Publish/Subscribe, a każdy podłączony konsument otrzyma kopię wiadomości. Zamiast deklarować wymianę i wiązanie dynamicznie/programowo, chciałbym stworzyć wymianę i wiązanie przed podłączeniem jakichkolwiek klientów. Zrobiłem to poprzez konsolę RabbitMQ Management Console. Z jakiegoś powodu moi konsumenci otrzymują wiadomości w sposób okrągły, a nie wszystkie odbierają kopie wiadomości. czego mi brakuje? Oto niektóre fragmenty kodu:Problemy z wymianą wentylatorów RabbitMQ
Wydawca:
channel.basicPublish("public", "", null, rowId.getBytes("UTF-8"));
konsumentów:
QueueingConsumer consumer = new QueueingConsumer(channel);
channel.basicConsume("myqueue", false, consumer);
... A w konsoli Zarządzanie RabbitMQ, stworzyłem wymianę "publiczne" typu "fanout" , i ustawiłem powiązanie z tej wymiany na "myqueue".
Doceniam każdą pomoc!
Ta odpowiedź była dla mnie bardzo pomocna, dziękuję! Ciągle myślałem, że każdy związany konsument otrzyma kopię wiadomości, a nie każdą powiązaną kolejkę. To naprawiło mój problem. Dzięki jeszcze raz! – littleK