সার্ভার পুনরায় চালু না করে টমক্যাটে "সার্ভার.এক্সএমএল" সম্পাদনা করবেন?


10

টমক্যাট 8 এর confফোল্ডারে আমি "সার্ভার.এক্সএমএল" ফাইলটি সম্পাদনা করেছি । আমি Hostএকটি নতুন ওয়েবসাইটের জন্য একটি নতুন ট্যাগ যুক্ত করেছি ।

আমি কি টমক্যাট সার্ভারটি পুনরায় চালু করব?

আমি কি টমকেট পার্স করতে এবং নতুন সম্পাদিত প্রয়োগ করতে পারি server.xml?



@ দাউদ লিঙ্কটির জন্য ধন্যবাদ, তবে আমরা এই সম্পর্কে কথা বলছি <Host>, না <Context>
বেসিল বাউরক

2
নির্বিশেষে, গুরুত্বপূর্ণ অংশটি server.xmlশুরুতে একবার পার্স করা হয়। এটি পুনরায় চালু না করে পুনরায় লোড করা যায় না।
দাউদ

ধন্যবাদ দাওদ আমি এখন উল্লেখ উল্লেখ। আমি এটিকে একটি উত্তর দিয়েছি যাতে আমি এই প্রশ্নটি বন্ধ করতে পারি।
বাসিল বাউর্কে

উত্তর:


14

আমি এই কথাটি বলতে শুরু করেছিলাম যে প্রশ্নটি পুরোপুরি সঠিকভাবে তৈরি করা হয়নি, কারণ টমক্যাটটি পুনরায় আরম্ভ না করেই ফাইলটি সম্পাদনা করা বেশ সম্ভব, তবে চলমান প্রক্রিয়াটি পরিবর্তনগুলি এড়ানো হবে।

আসল প্রশ্নটি হল 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একটি জেএমএক্স সক্ষম টমক্যাটের সাথে সংযুক্ত করুন এবং সমস্ত উপলব্ধ বৈশিষ্ট্যগুলি পরীক্ষা করতে হোস্ট এমবিয়ান ব্রাউজ করুন:

jconsole হোস্ট এমবিনের বৈশিষ্ট্যগুলি দেখায়

এবং সমস্ত উপলব্ধ ক্রিয়াকলাপ পরীক্ষা করুন (এর মধ্যে একটির উদাহরণ হিসাবে দেখানো হয়েছে):

jconsole হোস্ট এমবিয়ানে উদাহরণ অপারেশন দেখাচ্ছে


1
আমাকে জেএমএক্সের সাথে পরিচয় করানোর জন্য +1
রাজা আনবাজাগান

7

পুনঃসূচনা আবশ্যক।

টমকেট ডক পৃষ্ঠায় <Context>উল্লেখ করার জন্য :

… মূল কনফ / সার্ভার.এক্সএমএল ফাইল টমক্যাট পুনরায় আরম্ভ না করে পুনরায় লোড করা যাবে না।


1
এই উর্ধ্বতনগুলি @ দাওডে যেতে হবে ... আর কোনও মন্তব্য করা উচিত নয়। কারও খারাপ উত্তর যা বলেছিল we’re talking about <Host>, not <Context>.-1 দুঃখিত, আমি বিরল
এমনটি

@ ক্রিসএফআর দাউদ যে কোনও সময়, এখন বা এখনই উত্তর লিখতে নির্দ্বিধায় ছিলেন। সবাই আপ-ভোটের জন্য এই গেমটি খেলে না।
তুলিল বাউরেক

1
@ ক্রিসএফআর, বাসিল বাউরকে এটিকে আরও সাধারণ উপায়ে coverাকতে আমি আরও বিস্তারিত উত্তর যুক্ত করেছি। আশা করি এটি কার্যকর।
দাউদ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.