ऑटो-इंस्टेंटेशन को रोकने के लिए, श्रोता को @Component
. के रूप में एनोटेट नहीं किया जाना चाहिए . कॉन्फ़िगरेशन को एप्लिकेशन कॉन्टेक्स्ट को पकड़ने की जरूरत है, जिसे ऑटोवायर किया जा सकता है।
इस प्रकार, मेरा विन्यास वर्ग इस तरह दिखता है:
@Autowired
private AbstractApplicationContext context;
private void registerListeners() {
ProjectsRepositoryListener firstListener = beanFactory.createBean(ProjectsRepositoryListener.class);
context.addApplicationListener(firstListener);
MySecondListener secondListener = beanFactory.createBean(MySecondListener.class);
context.addApplicationListener(secondListener);
}
ध्यान दें कि यह किसी भी ApplicationListener
. के लिए काम करता है , न केवल AbstractMongoEventListener
।