मैं अपने @SpringBootApplication
रों के कुछ की classpath पर @Configuration
वर्ग निम्नलिखित है:स्प्रिंग बूट: विन्यास कक्षा बस नजरअंदाज कर दिया है और लोड नहीं
@Configuration
@Import({MainConfig.class, RestConfig.class})
public class ApiConfig {
@Bean
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public Client client() throws ExecutionException, InterruptedException {
return service.create(Client.class);
}
}
मैं दो सेवाओं है कि इस config (अलग नाम के लिए उपयोग किया Client
कक्षाएं)।
सेवा 1 सही ढंग से शुरू होता है और इस कॉन्फ़िगर को लोड करता है। मैं शुरूआत के दौरान देख सकता हूं कि प्रकार ApiConfig
का एक बीन बेसब्री से शुरू किया गया था।
सेवा 2 गलत तरीके से शुरू होता है: उपरोक्त कॉन्फ़िगरेशन क्लास को केवल अनदेखा किया जाता है और प्रारंभ नहीं किया जाता है।
सेवाएं अलग जेवीएम में शुरू की गई हैं।
spring.application.name=xxx-api
server.port=0
eureka.name=xxx.api
# Only for reading properties from a central location
context.initializer.classes=com.package.contextClass
मैं भी यकीन है कि अतिरिक्त जानकारी के किस तरह मैं प्रश्न में लिख सकता है नहीं कर रहा हूँ:
थेर सेवाओं लगभग समान, बहुत छोटे application.properties
फ़ाइलों की है। मैं अब कुछ घंटों के लिए लॉग के माध्यम से जा रहा हूं और कोई स्पष्ट अंतर नहीं देखता, बस यह स्पष्ट रूप से मेरी @Configuration
कक्षा को अनदेखा करता है।
क्या किसी के पास इससे पहले कोई समस्या थी?
इस कॉन्फ़िगरेशन क्लास को लोड करने के लिए कैसे माना जाता है? आपने अपना स्प्रिंग बूट बूटस्ट्रैप नहीं दिखाया। – chrylis
क्षमा करें, इसे '@ SpringBootAplication' का उपयोग करके लोड किया जाना चाहिए, यानी '@ घटक स्कैन' और '@ EnableAutoConfiguration' का उपयोग करके लोड किया जाना चाहिए। – user991710
दोनों स्थितियों में आपके स्प्रिंगबूट एप्लिकेशन क्लास के समान पैकेज में @ कॉन्फ़िगरेशन क्लास है? –