I have a "MessageQueue" class. It's just is to queue messages. Beans that need the ability to post messages simply have a MessageQueue property and Spring takes care of injecting it.
The problem is that many beans need to also register themselves as listeners. The list of listener beans cannot be injected into the messageQueue because that would be lead to circular dependencies. Many beans up and down the dependency chain need to post messages and/or listen to messages.
How then could a Spring-powered message queue be implemented in such a way that it does not involve circular dependencies?