Die tutorials on RabbitMq's site sind gerade ziemlich nach vorne, aber ich bemerkte in the Rpc example, dass die Entwickler wählen consumer.Queue.Dequeue()
den Faden blockierenden Aufruf zu verwenden, anstatt die EventingBasicConsumer
der Verwendung und das Event-Modell an anderer Stelle verwendet Handhabung.RabbitMQ Rpc: EventingBasicConsumer oder QueueingBasicConsumer
Blick durch die current documentation wird angegeben, dass
Ab Version 3.5.0 Anwendung Callback-Handler blockiert Operationen aufrufen können (wie
IModel.QueueDeclare
oderIModel.BasicCancel
).IBasicConsumer
Callbacks werden gleichzeitig aufgerufen.
Wo, wie the old documentation (v. 1.5.0) besagt, dass es nicht
Anwendung Callback-Handler müssen AMQP (wie
IModel.QueueDeclare
oderIModel.BasicCancel
) blockiert nicht aufrufen unterstützt wird. Wenn dies der Fall ist, wird der Kanal blockiert. [...] Aus diesem Grund istQueueingBasicConsumer
der sicherste Weg, eine Warteschlange zu abonnieren.
Könnte es sein, dass das RPC-Beispiel nicht aktualisiert wurde? Oder fehlt mir etwas? Ich würde es sehr schätzen, auf eine Dokumentation darüber hingewiesen zu werden.