मैंने कुछ जेएनडीआई फैक्ट्री बीन को जोड़ते समय कुछ त्रुटियों को समझने की कोशिश कर अपने दिन का बहुत अधिक समय बिताया। समस्या पता चला कि बजाय इस के होने के लिए ...जावा क्या है: comp/env/do?
<bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/loc"/>
</bean>
मैं वास्तव में इस लिखा था ...
<bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/loc"/>
</bean>
मैं अनुमान कर जावा कि: कंप्यूटर अनुप्रयोग/env/शायद का संदर्भ कुछ वातावरण चर और ऐसा करता है कि, अंततः, मेरी संदर्भ फ़ाइल को देखा जाता है। केवल अंतर जावा है: comp/env /। एक विशेषज्ञ के मुंह से, वह क्या करता है?
जावा के बिना: मूल्य में comp/env उपसर्ग, मुझे एक त्रुटि मिलेगी जिसमें कहा गया है "नाम jdbc इस संदर्भ में बाध्य नहीं है"।
आप कौन-सी शुरू में उपयोग किया था? आपके प्रश्न का तात्पर्य है कि आप दूसरे उदाहरण ('jdbc/loc'' और इस प्रकार 'जावा: comp/env/jdbc/loc' सही है) का गलत इस्तेमाल कर रहे थे, जबकि चेरौविम का जवाब यह दर्शाता है कि आप पहले उदाहरण का उपयोग गलत तरीके से कर रहे थे (' जावा: comp/env/jdbc/loc' और इस प्रकार 'jdbc/loc' सही है)। भले ही, असली जवाब यह है: यह ** वर्तमान ** संदर्भ पर निर्भर करता है। – BalusC
जो काम नहीं करता था वह वास्तव में जावा: comp/env/jdbc/loc, जैसा कि निहित है। संदर्भ फ़ाइल जिसे "लोक" संसाधन शामिल करने के लिए इंगित किया गया था। "वर्तमान" संदर्भों की संभावनाएं क्या हैं? – Danny