Ich habe eine "MessageQueue" -Klasse. Es ist einfach, Nachrichten in eine Warteschlange zu stellen. Beans, die die Möglichkeit haben, Nachrichten zu veröffentlichen, haben einfach eine MessageQueue-Eigenschaft und Spring kümmert sich darum, sie zu injizieren.Circular Dependency und Spring-powered Event Queue
Das Problem ist, dass viele Beans sich auch als Listener registrieren müssen. Die Liste der Listener-Beans kann nicht in die messageQueue eingefügt werden, da dies zu zirkulären Abhängigkeiten führen würde. Viele Beans in der Abhängigkeitskette müssen Nachrichten posten und/oder Nachrichten abhören.
Wie könnte dann eine Spring-basierte Nachrichtenwarteschlange so implementiert werden, dass sie keine zirkulären Abhängigkeiten enthält?
Die meisten meiner Bohnen verwenden Setter, aber zumindest ein paar sind Legacy und beide haben obligatorische Konstruktoren und kann nicht Frühling-bewusst sein, leider. Aber auf jeden Fall eine gute Idee! –