আমি এই কথাটি বলতে শুরু করেছিলাম যে প্রশ্নটি পুরোপুরি সঠিকভাবে তৈরি করা হয়নি, কারণ টমক্যাটটি পুনরায় আরম্ভ না করেই ফাইলটি সম্পাদনা করা বেশ সম্ভব, তবে চলমান প্রক্রিয়াটি পরিবর্তনগুলি এড়ানো হবে।
আসল প্রশ্নটি হল server.xml
টমক্যাটটি পুনরায় আরম্ভ না করে কীভাবে পরিবর্তনগুলি প্রয়োগ করা যায় ।
টমক্যাটের অনলাইন ডকুমেন্টেশনে স্টার্টআপ প্রক্রিয়া এবং শ্রেণি-লোডার পৃষ্ঠাগুলি থেকে তথ্য সংগ্রহ করা , এটি আরও বিস্তারিতভাবে বোঝা সম্ভব।
আরও সুনির্দিষ্টভাবে এটি সার্ভার স্টার্টআপ.টেক্সটে বর্ণিত হয়েছে এবং প্রারম্ভিক প্রক্রিয়াটির ইউএমএল চিত্র এবং প্রাসঙ্গিক অংশগুলি সংক্ষেপে সংক্ষেপে বলা যেতে পারে:
Sequence 1. Start from Command Line
...
Sequence 2. Process command line argument (start, startd, stop, stopd)
Class: org.apache.catalina.startup.Bootstrap (assume command->start)
What it does:
a) Catalina.setAwait(true);
b) Catalina.load()
b3) createStartDigester()
Configures a digester for the main server.xml elements
b4) Load the server.xml and parse it using the digester
Parsing the server.xml using the digester is an automatic
XML-object mapping tool, that will create the objects defined
in server.xml
Startup of the actual container has not started yet.
b6) Calls initialize on all components, this makes each object
register itself with the JMX agent.
সার্ভলেট ইঞ্জিন (ক্যাটালিনা) এর বুটস্ট্র্যাপ শ্রেণিবদ্ধার তৈরির পরে এটি ঘটে।
এই তথ্যের সাহায্যে, এটি এখন পরিষ্কার হয়ে গেছে যে প্রারম্ভিক প্রক্রিয়াতে server.xml
ফাইলটি বিশ্লেষণ করা হয় তবে এই ফাইলটিতে পরিবর্তনগুলি প্রয়োগ করতে টমক্যাটটি পুনরায় আরম্ভ করার প্রয়োজন কেন এই প্রশ্নের সত্যই উত্তর দেয় না।
উত্তরটি হ'ল জেএমএক্স ব্যবহার করে এটির কিছু অংশ গতিশীল পরিবর্তন করা যেতে পারে । এটি সম্ভব হওয়ার জন্য, উপযুক্ত এমবিয়ানকে নিবন্ধিত করতে হবে (বি -6 ধাপ উপরে), এবং এসইটি অপারেশনও গ্রহণ করতে হবে (কিছু এমবিদের কেবল একটি জিইটি ইন্টারফেস রয়েছে)।
আপনার নির্দিষ্ট ক্ষেত্রে, রানটাইমে কোনও নতুন হোস্ট তৈরি ও নিবন্ধ করার কোনও উপায় নেই কারণ এর কোনও ব্যবস্থা নেই, এবং এই কারণেই বুটস্ট্র্যাপের ক্লাসলোডার সেই বস্তুটি ইনস্ট্যান্ট করার জন্য আপনাকে টমক্যাট প্রক্রিয়াটি পুনরায় চালু করতে হবে এবং এটিতে নিবন্ধভুক্ত করতে হবে জেএমএক্স এজেন্ট।
এরপরে, কোনও জেএমএক্স ক্লায়েন্টের থেকে jconsole
যে কোনও জেডিকে দিয়ে বান্ডিল আসে এমন হোস্টটি সংশোধন করা সম্ভব ।
আপনাকে jconsole
একটি জেএমএক্স সক্ষম টমক্যাটের সাথে সংযুক্ত করুন এবং সমস্ত উপলব্ধ বৈশিষ্ট্যগুলি পরীক্ষা করতে হোস্ট এমবিয়ান ব্রাউজ করুন:
এবং সমস্ত উপলব্ধ ক্রিয়াকলাপ পরীক্ষা করুন (এর মধ্যে একটির উদাহরণ হিসাবে দেখানো হয়েছে):