আপনি সবসময় আপনার আবেদনের সংস্থানগুলিকে সরাসরি তাদের জেএনডিআই নাম দিয়ে ধারকটিতে কনফিগার করা হিসাবে উল্লেখ করতে পারেন, তবে আপনি যদি তা করেন তবে মূলত আপনি নিজের কোডটিতে ধারক-নির্দিষ্ট নামটি ওয়্যারিং করছেন। এর কিছু অসুবিধাগুলি রয়েছে, উদাহরণস্বরূপ, যদি আপনি কোনও কারণে পরে নামটি পরিবর্তন করতে চান তবে আপনাকে আপনার সমস্ত অ্যাপ্লিকেশনগুলির সমস্ত রেফারেন্স আপডেট করতে হবে এবং তারপরে পুনর্নির্মাণ এবং পুনরায় প্রচার করতে হবে।
<resource-ref>
ইন্ডিয়ারেশনের আরেকটি স্তর প্রবর্তন করে: আপনি ওয়েব.এক্সএমএমএলে যে নামটি ব্যবহার করতে চান তা নির্দিষ্ট করে এবং ধারকটির উপর নির্ভর করে একটি ধারক-নির্দিষ্ট কনফিগারেশন ফাইলে একটি বাঁধাই সরবরাহ করে ।
তাই যা হয় তা এখানে : আসুন আমরা বলি আপনি java:comp/env/jdbc/primaryDB
নামটি অনুসন্ধান করতে চান । ধারকটি আবিষ্কার করে যে ওয়েব.এক্সএমএলটির<resource-ref>
জন্য একটি উপাদান রয়েছে jdbc/primaryDB
, সুতরাং এটি ধারক-নির্দিষ্ট কনফিগারেশনটিতে সন্ধান করবে, এতে নিম্নলিখিতগুলির মতো কিছু রয়েছে:
<resource-ref>
<res-ref-name>jdbc/primaryDB</res-ref-name>
<jndi-name>jdbc/PrimaryDBInTheContainer</jndi-name>
</resource-ref>
অবশেষে, এটি নামে নিবন্ধিত বস্তুটি ফেরত দেয় jdbc/PrimaryDBInTheContainer
।
ধারণা সংস্থান উল্লেখ করে web.xml পৃথক সুবিধা আছে ডেভেলপার থেকে ভূমিকা deployer ভূমিকা। অন্য কথায়, একজন বিকাশকারী হিসাবে, আপনার প্রয়োজনীয় সংস্থানগুলিকে আসলে উত্পাদনে কী বলা হয় তা আপনাকে জানতে হবে না এবং অ্যাপ্লিকেশনটি মোতায়েন করা লোক হিসাবে আপনার বাস্তব সংস্থানগুলিতে মানচিত্রের জন্য নামের একটি সুন্দর তালিকা থাকবে।