Die Channel-Klasse (Java Client) bietet drei Methoden zum Veröffentlichen einer Nachricht, die alle den Parameter routingkey enthalten. Der Header-Austausch benötigt den Routing-Schlüssel nicht.
Wenn ich einen Nullwert für den Routingkey übergebe, wird die folgende Ausnahme zurückgegeben: "java.lang.IllegalStateException: Ungültige Konfiguration:" routingKey "darf nicht null sein."
Wenn ich jedoch eine leere Zeichenfolge übergebe, funktioniert es. Die Frage ist also: Ist es richtig, eine leere Zeichenfolge zu verwenden?
Antworten:
0 für die Antwort № 1Ja, es ist richtig, eine leere Zeichenfolge zu verwenden. Der Routing-Schlüssel wird nicht von Header-Börsen verwendet, wie in der AMQP-Protokollspezifikation definiert.
Wahrscheinlich wird eine Ausnahme ausgelöst, weil der Treiber nichts über das Setup weiß und es viel sicherer ist, alle Fehler, einschließlich potenzieller Fehler, auf der Clientseite zu behandeln.