मेरे आवेदन में मैं कुछ बीन्स ऑटोवायरिंग के लिए योग्य बनाने के लिए कई profiles का उपयोग करता हूं। जो कुछ मैं याद कर रहा हूं वह एक बीन को स्वत: काम करने के लिए पात्र होने की संभावना है जब कोई निश्चित प्रोफ़ाइल सक्रिय नहीं होती है।कोई प्रोफ़ाइल सक्रिय नहीं होने पर बीन परिभाषा समेत
है कि मैं के बारे में सोचा था कि यह ऐसा करने का सबसे अच्छा तरीका है इस तरह है:
- चलो लगता है कि हम सभी संभव प्रोफाइल, जैसे की एक सूची है {ऐ बी सी डी}।
- विशेष निष्पादन के लिए सक्रिय प्रोफाइल {ए, सी} हैं।
- मैं क्या करता हूं मैं सभी संभावित प्रोफाइल के लिए कृत्रिम प्रोफाइल बनाता हूं जो सक्रिय नहीं हैं। उदाहरण के मामले में मैं {not_B, not_D} प्रोफ़ाइल बनाउंगा।
- बीन्स मैं सक्रिय प्रोफाइल पर आधारित सक्रिय होना चाहता हूं
X
मैं प्रोफ़ाइलnot_X
प्रोफ़ाइल के लिए सक्रिय हूं। मेरे मामले अगर मैं एक सेम जब प्रोफ़ाइल बी सक्रिय नहीं है autowiring के लिए पात्र होने के लिए करना चाहता था में, मैं उन्हें@Profile("not_B")
व्याख्या होगा यह समाधान हालांकि सभी संभव प्रोफाइल के बारे में एक प्रमुख ज्ञान की आवश्यकता है।
क्या आप किसी भी बेहतर समाधान के बारे में सोच सकते हैं?
यह बहुत अच्छा होगा, लेकिन वसंत 3.2 अभी आरसी 1 में है, इसलिए यह मेरे लिए एक विकल्प नहीं है। – ShyJ
पोस्ट में मेरा परिवर्तन देखें। मैं अनुशंसा करता हूं कि @Profile के साथ प्रारंभ न करें और इसे स्प्रिंग कॉन्फ़िगरेशन में संभाल लें। – aweigold
@Shyj इसके बारे में भी सोचा (जैसे बहिष्करण के साथ क्लासपाथ स्कैनर को कॉन्फ़िगर करना), लेकिन यह प्रोफाइल के रूप में अच्छा प्रतीत नहीं होता है ... – ShyJ