पर सेट करना मैं अपने जावा एप्लिकेशन में जेएमएस कनेक्शन फैक्ट्री इंजेक्ट करने के लिए वसंत का उपयोग कर रहा हूं। चूंकि इस कारखाने को केवल उत्पादन वातावरण के भीतर ही जरूरी है, हालांकि मैं विकासशील नहीं हूं, लेकिन मैंने बीन परिभाषा को एक अलग एक्सएमएल में रखा है जिसे मैं अपने मुख्य एप्लिकेशनकॉन्टेक्स्ट.एक्सएमएल में शामिल करता हूं। उत्पादन वातावरण में इस अतिरिक्त फ़ाइल में नियमित बीन परिभाषा होती है। मेरे स्थानीय देव पर्यावरण में मैं इस बीन को शून्य होना चाहता हूं। बीन परिभाषा को आसानी से हटाने की कोशिश कर रहे सभी चीजों को स्पष्ट रूप से एक त्रुटि हुई जब वसंत एक संदर्भ आईडी में आया, जिसे यह नहीं पता था।जानबूझकर स्प्रिंग बीन को
तो मैंने एक फैक्ट्री बीन बनाने की कोशिश की जो आसानी से शून्य हो जाएगी। यदि मैं ऐसा करता हूं, तो स्प्रिंग (2.5.एक्स) शिकायत करता है कि फैक्ट्रीबीन इंटरफ़ेस के स्प्रिंग एपीआई दस्तावेज़ के आधार पर कारखाना शून्य हो गया है, मुझे उम्मीद है कि यह काम करे (देखें Spring API doc)।
<bean id="jmsConnectionFactoryFactory" class="de.airlinesim.jms.NullJmsConnectionFactoryFactory" />
<bean id="jmsConnectionFactory" factory-bean="jmsConnectionFactoryFactory" factory-method="getObject"/>
क्या ऐसा करने का "सही" तरीका होगा:
एक्सएमएल कुछ इस तरह लग रहा है?
इसके लिए एक खुला सुविधा अनुरोध है, लेकिन वहां 2 साल तक बैठा है ... इसके लिए वोटिंग मदद कर सकती है: http://jira.springframework.org/browse/SPR-5320 – skaffman
यह मेरे लिए काम नहीं करता है अगर मैं एक '@ Autowired' संदर्भ में बीन का इस्तेमाल किया। –
अगर मैं शून्य लौटाता हूं तो मुझे बीनक्रिएशन अपवाद प्राप्त होता है। के कारण: org.springframework.beans.factory.BeanCreationException: कक्षा पथ संसाधन [XXX.xml] में परिभाषित नाम 'nullObject' नाम से बीन बनाने में त्रुटि: फैक्ट्री-बीन 'नल फैक्ट्रीबीन' शून्य – endless