Ich versuche, einen Consumer für eine vorhandene Warteschlange zu schreiben.Abrufen einer Warteschlange ohne Angabe aller Eigenschaften
RabbbitMQ wird in einer separaten Instanz ausgeführt und die Warteschlange mit dem Namen "org-queue" ist bereits erstellt und an einen Exchange gebunden. org-queue ist eine dauerhafte Warteschlange und hat auch einige zusätzliche Eigenschaften.
Jetzt muss ich Nachrichten von dieser Warteschlange erhalten. Es wirft mir einen Fehler, der besagt andere dauerhafte Eigenschaft Ich habe den Code unten verwenden Instanz der Warteschlange
conn = Bunny.new
conn.start
ch = conn.create_channel
q = ch.queue("org-queue")
zu bekommen. Es scheint standardmäßig der Bunny verwendet durable = false. Also habe ich langlebig wahr als Parameter hinzugefügt. Jetzt gibt es den Unterschied zwischen anderen Parametern an. Muss ich alle Parameter angeben, um eine Verbindung herzustellen? Da rabbitMQ von verschiedenen Umgebungen verwaltet wird, ist es schwer für mich, alle Eigenschaften zu erhalten.
Gibt es eine Möglichkeit, eine Liste von Warteschlangen abzurufen und die erforderliche Warteschlange im Client abzurufen, anstatt eine Verbindung zu einer Warteschlange mit allen Parametern herzustellen.
Normalerweise, wenn Sie mit einem Nachrichtenbus verbinden, sollten Sie den Vertrag kennen, den Sie einhalten müssen - dynamisch zu tun, wie Sie vorschlagen, kann verschiedene Probleme verursachen und kann SEHR schwierig sein zu debuggen. Ich würde es nicht empfehlen – Anthony
Ich zweite das. Sie sollten über die Parameter verfügen, die zum Einrichten der Warteschlangen irgendwo in einer Umgebungsvariablen verwendet werden, und eine Verbindung mit der Warteschlange/dem Austausch herstellen, die diese verwenden. – LukeS