Ich brauche Nachrichten von Kaninchen HA-Cluster über HAProxy zu konsumieren, so wechselte ich zu CacheMode.CONNECTION
, wie es in spring-amqp-documentation empfohlen wird. Außerdem muß ich Nachrichten von vielen Warteschlangen verbrauchen, so schaffe ich für jede Warteschlange SimpleMessageListenerContainer
mit 4 gleichzeitigen Verbrauchern, und ich habe einige Fragen:Spring RabbitMQ Verbindung und Ressourcenmanagement Probleme
- Nach einigen Tests sieht es aus, dass mein Ansatz, weil jedes Mal, nicht effizient ist, wenn eine neue Warteschlange hinzugefügt wird, wird auch der neue SimpleMessageListenerContainer mit 4 Threads erstellt. So könnte ich mehr Warteschlangen für die gegebenesetzen, was effizienter aussieht, aber vielleicht gibt es einen anderen besseren Weg?
- Warum, wenn ich auf
CacheMode.CONNECTION
für jeden Verbraucher in gewechselt habe, wird neue Verbindung erstellt? Kann ich eine Verbindung für alle Verbraucher in einem bestimmtenSimpleMessageListenerContainer
oder vielleicht wird es nicht empfohlen? Wie Ausnahme behandeln
"org.springframework.amqp.rabbit.connection.AutoRecoverConnectionNotCurrentlyOpenException: Auto Recovery-Verbindung ist nicht offen"
ich es erhielt, wenn man RabbitMQ Knoten Nieder. Auch wenn der Knoten wieder aktiv ist, kann
SimpleMessageListenerContainer
nicht erneut verbunden werden.
Vielen Dank im Voraus für Hilfe.