जावा क्या है: COMP / env?


83

क्या मतलब है java:comp/env?

क्या दिखता है:

Context envContext = (Context)initContext.lookup("java:comp/env");

कर ?

मैं समझता हूं कि एक लुक-अप:

(DataSource)envContext.lookup("jdbc/MyDatasource")

नाम के लिए लग रहा है MyDatasourceमें context.xmlया web.xmlडेटाबेस का URL प्राप्त करने के लिए। ऐसा है क्या ? !! लेकिन पूर्व क्या दिखता है?



4
@ मार्को टोपोलनिक लेकिन मेरे सवाल का जवाब नहीं है।
सपलिंगप्रो जूल

4
कृपया इस प्रश्न को बंद करने के लिए मतदान से पहले लिंक को खोलें और पढ़ें। न केवल शीर्षक के बाद जाना।
सैपलिंगप्रो

1
यह निश्चित रूप से मेरे लिए एक जवाब की तरह लग रहा है। यह आपके द्वारा अपने संसाधनों को देखने के लिए कंटेनर द्वारा प्रदान किया गया एक रूट नेमस्पेस है।
user207421

उदाहरण के लिए वेबलॉग से टॉमकैट की ओर पलायन करने की कोशिश कर रहे लोगों के लिए यह एक अच्छा सवाल है
ACV

जवाबों:


73

java:comp/env जेएनडीआई के पेड़ में नोड है जहां आप वर्तमान जावा ईई घटक (एक वेबएप, या एक ईजेबी) के लिए गुण पा सकते हैं।

Context envContext = (Context)initContext.lookup("java:comp/env");

इस नोड पर सीधे इंगित करने वाले एक चर को परिभाषित करने की अनुमति देता है। यह करने की अनुमति देता है

SomeBean s = (SomeBean) envContext.lookup("ejb/someBean");
DataSource ds = (DataSource) envContext.lookup("jdbc/dataSource");

बजाय

SomeBean s = (SomeBean) initContext.lookup("java:comp/env/ejb/someBean");
DataSource ds = (DataSource) initContext.lookup("java:comp/env/jdbc/dataSource");

पूर्ण पथ के बजाय सापेक्ष पथ। यही इसका उपयोग है।


यह नोड किसके लिए है? जेएनडीआई के पेड़ में कई नोड्स होंगे।
सैपलिंगप्रो

7
मुझे अभी भी यह महसूस नहीं होता है कि वास्तव में क्या है java:comp/env
सैपलिंगप्रो

9
प्रत्येक JEE घटक (webapp, EJB) इस घटक के लिए स्थानीय गुणों को परिभाषित कर सकते हैं। और इन गुणों के माध्यम से सुलभ हैं java:comp/env। उदाहरण के लिए tomcat.apache.org/tomcat-7.0-doc/… देखें । ईजेबी में एक ही तरह की चीज होती है।
बजे जेबी निज़ेट

9

यह एक इन-मेमोरी ग्लोबल हैशटेबल है जहां आप नाम से वैश्विक चर स्टोर कर सकते हैं।

"जावा:" url योजना JNDI को एक javaURLContextFactoryवर्ग की तलाश का कारण बनती है , जो आमतौर पर आपके ऐप कंटेनर द्वारा प्रदान किया जाता है, जैसे कि यहाँ Tomcat का कार्यान्वयन javadoc है

NamingManager.getURLContext भी देखें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.