क्या वेबलॉगिक सर्वर एडमिनिस्ट्रेशन कंसोल (वेबलॉगिक 10.0) या सर्वर की कॉन्फ़िगरेशन फ़ाइल (config.xml) संपादित करके JNDI को कस्टम ऑब्जेक्ट (स्ट्रिंग या यूआरएल) जोड़ना संभव है?वेबलॉगिक पर जेएनडीआई को कस्टम ऑब्जेक्ट जोड़ना 10
उत्तर
मुझे ऐसा नहीं लगता है। Load objects in the JNDI tree का हवाला देते हुए:
व्यवस्थापन कंसोल का उपयोग करना, आप इस तरह के RMI, JMS, EJBs, और JDBC डेटा स्रोत के रूप में WebLogic सर्वर J2EE सेवाओं और घटकों, लोड कर सकते हैं, JNDI पेड़ में।
और वास्तव में, मैं एक String
या URL
कंसोल का उपयोग कर डालने का एक तरीका नहीं पा सके।
AFAIK, मानक तरीका (web.xml, EJB-jar.xml) अपने तैनाती डिस्क्रिप्टर में एक env-entry
डाल करने के लिए है:
<env-entry>
<env-entry-name>string/foo</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>foobar</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>url/bar</env-entry-name>
<env-entry-type>java.net.URL</env-entry-type>
<env-entry-value>http://foobar/</env-entry-value>
</env-entry>
मैं बिल्कुल एक ही समस्या के साथ इस पर पहुँच गए हैं। वेबस्पेयर में, उदाहरण के लिए, मैं अनियंत्रित पैरामीटर जैसे अस्थायी निर्देशिका, पासवर्ड और अन्य जानकारी जेएनडीआई को ईएआर को पुन: कंपाइल/पुनर्निर्माण किए बिना जोड़ सकता हूं।
मैंने थोड़ी देर के लिए खोज की है और लगता है कि वेबलॉगिक में इस सुविधा की कमी है। मैंने जो किया वह एक सहायक वर्ग लिखता था जो पहली बार किसी दिए गए कॉन्फ़िगरेशन कुंजी के लिए जेएनडीआई की खोज करता है, और यदि उसे यह नहीं मिलता है तो वह पर्यावरण या सिस्टम चर खोजने के लिए वापस आ जाता है।
शायद यह उसी नाम की तुलना में बढ़ाया जा सकता है, जो कि नाम के संघर्ष से बचने के लिए रनटाइम पर खोजे गए अनुप्रयोगों के नाम या संदर्भ रूट द्वारा उपसर्ग किया गया है, जब समान ईएआर के कई उदाहरण तैनात किए जाते हैं।
आप क्लस्टर का उपयोग करते हुए उच्च उपलब्धता खो देंगे। देखें: http://docs.oracle.com/cd/E11035_01/wls100/jndi/jndi.html#wp475702
लेकिन अगर मैं इसे web.xml में डालता हूं तो किसी भी बदलाव के लिए पुनर्निर्माण और पुनर्वितरण की आवश्यकता होगी। यह अजीब बात है कि मैं सर्वर पर जेडीबीसी कॉन्फ़िगरेशन डाल सकता हूं, ताकि परिवर्तनों को पुनर्निर्माण की आवश्यकता न हो, लेकिन मैं अपने कस्टम चर (जैसे मेल खाते में पासवर्ड, जिसे मेल सत्र में कॉन्फ़िगर नहीं किया जा सकता) वहां नहीं डाल सकता है और उन्हें अपने आवेदन में रखने की जरूरत है। –
एक ही चीज़ करने की जरूरत है ... वाह, वह बदबू आ रही है। – MeBigFatGuy
आपको web.xml से डिफ़ॉल्ट मानों को अद्यतन/ओवरराइट करने के लिए plan.xml का उपयोग करना चाहिए –