টমক্যাট আমার কনটেক্সট.এক্সএমএল ফাইলটি মুছতে পছন্দ করে কেন?


24

আমি কর্মক্ষেত্রে একটি ওয়েব-ভিত্তিক জাভা অ্যাপ্লিকেশন বিকাশ করছি এবং (অবশ্যই) এটি স্থানীয়ভাবে বিকাশের সময় চালাতে হবে। আমি টমকেট ডক্স বের করেছি এবং একটি উপযুক্ত প্রসঙ্গ.এক্সএমএল ফাইল রেখেছি /etc/tomcat6/Catalina/localhost/কিন্তু প্রায়শই প্রায়শই টমক্যাট এটি মুছে ফেলার সিদ্ধান্ত নিয়েছে! যার অর্থ আমাকে এটি পিছনে রেখে টমক্যাটটি পুনরায় চালু করতে হবে।

কেন এটা এই কাজ করে? আমি এটি সম্পর্কে টমকেট ডক্স অনুসন্ধান করেছি এবং জ্ঞানী কেউ নই।

(ওহ হ্যাঁ: এটি আসলে বলা হয় নি context.xmlতবে owners.xmlএই অ্যাপ্লিকেশনটির জন্য এইচটিটিপি পাথ উপসর্গ))

হালনাগাদ

টমক্যাট চলমান থাকাকালীন আমি এখন টমক্যাট ফাইলটি মুছতে দেখেছি । আমি মনে করি আমাকে একটি বাগ ফাইল করতে হবে ...


এই সমস্যা আছে। দেখে মনে হচ্ছে আপনি যখন আপনার যুদ্ধ প্রতিস্থাপন করেন এটি অ্যাপ্লিকেশনটির অপশক্তির কারণ হয় যা প্রসঙ্গে ফাইলটি মোছার কারণ হয়ে থাকে। আই-প্রায় একটি নেই কিন্তু এক যা পুনঃলোডযোগ্য চেয়ে বেশি সুবিধাজনক = মিথ্যা করতে চাই stackoverflow.com/questions/4032773/...
artemb

উত্তর:


18

দ্রুত সংক্ষিপ্তসার : এখানে বেশ কয়েকটি শর্ত রয়েছে (যেমন যুদ্ধের ফাইল পরিবর্তন করা, ওয়েবআপ মুছে ফেলা বা নতুন সামগ্রীর সাথে এটি প্রতিস্থাপন করা) যার অধীনে টমক্যাট প্রসঙ্গ ফাইলটি সরিয়ে সহ প্রসঙ্গটি প্রকাশ করবে।

বিশদ : টমক্যাট অটোডেপলজমেন্ট করে বা না করে (মানে আপনার .xML বর্ণনাকারীর পরিবর্তনের জন্য ওয়েব অ্যাপ্লিকেশন ডিরেক্টরিতে পরিবর্তনগুলি পরীক্ষা করার পাশাপাশি পরীক্ষা করা) চালিত:

  1. সার্ভার.এক্সএমএল $ ক্যাটালিনহোম / কনফিড / সার্ভার.এক্সএমএল বিভাগে স্থানীয় করা হয়েছে:

    <হোস্টের নাম = "লোকালহোস্ট" অ্যাপবেস = "ওয়েব অ্যাপস" আনপ্যাকওয়ারগুলি = "সত্য" অটোডেপলয় = "সত্য" এক্সএমএলভালিডেশন = "ভুয়া" xMLNamespaceAware = "মিথ্যা">

  2. আপনি এই সম্পত্তিটি আপনার প্রসঙ্গ ফাইলটিতে ওভারলোডের মানও সেট করতে পারেন

অটোডেপ্লাই = সত্যের ক্ষেত্রে ডকটির উদ্ধৃতি দেওয়ার কারণে আপনার প্রসঙ্গ ফাইলটি অপসারণের কারণ হতে পারে:

  • একটি ওয়ার ফাইলটি মুছে ফেলা কোনও সম্পর্কিত প্রসারিত ডিরেক্টরি, প্রসঙ্গ ফাইল এবং কাজের ডিরেক্টরি মুছে ফেলার সাথে অ্যাপ্লিকেশনটির একটি অনির্বাণিক পদক্ষেপ গ্রহণ করবে ।
  • ডিরেক্টরি মুছে ফেলা হলে কোনও সম্পর্কিত প্রসঙ্গ ফাইল এবং কাজের ডিরেক্টরি মুছে ফেলার সাথে অ্যাপ্লিকেশনটির একটি অনাবশ্যকতা ট্রিগার করবে ।
  • একটি ওয়ার ফাইলটি আপডেট করা সম্পর্কিত যে কোনও প্রসারিত ডিরেক্টরি, প্রসঙ্গ ফাইল এবং কাজের ডিরেক্টরি মুছে ফেলার সাথে অ্যাপ্লিকেশনটির একটি অনির্বাচনকে ট্রিগার করবে ।
  • কোনও ডিরেক্টরি আপডেট করার সাথে সাথে (ডিরেক্টরি সামগ্রীতে নয়) কোনও সম্পর্কিত প্রসঙ্গ ফাইল এবং কাজের ডিরেক্টরি অপসারণের সাথে অ্যাপ্লিকেশনটির একটি অন্বেষণ কাজকে ট্রিগার করবে ।

অবসন্ন বিবরণ : http://tomcat.apache.org/tomcat-6.0-doc/config/host.html# অটোমেটিক ২০২০ আবেদন ১০০ নিয়োগ


এটি একটি সম্পূর্ণ উত্তর নয় - দেখুন সার্ভারফল্ট
জেনি ডি বলছেন মনিকা

:) দয়া করে নিজেকে সাহায্য করুন (সিনট্যাক্স হাইলাইট করা
স্ট্যাকওভারফ্লোয়ের

জিনিসটি হ'ল আপনি যদি কেবল একটি লিঙ্ক যুক্ত করেন তবে লিঙ্কটির লক্ষ্য অদৃশ্য হয়ে যেতে পারে, উত্তরটি অকেজো করে। সে কারণেই সার্ভারফ্লট.কম আপনাকে কেবলমাত্র লিঙ্কের পরিবর্তে প্রকৃত উত্তর পোস্ট করতে উত্সাহিত করে। এবং যখন আমি মন্তব্য করেছি, বাকী লেখাটি দৃশ্যমান ছিল না। আমি তবুও লিঙ্কটির সংক্ষিপ্তসারের চেয়ে আরও একটি সম্পূর্ণ প্রতিক্রিয়া পোস্ট করার প্রস্তাব দিই।
জেনি ডি বলছেন মনিকা পুনরায় ইনস্টল করুন

1
এটি কেবল সত্য নয়। মূল উত্তরটি অন্তর্ভুক্ত রয়েছে (এবং এখনও রয়েছে) আপনি লিঙ্কের নীচে কী খুঁজে পেতে পারেন তার সংক্ষিপ্তসার। লিঙ্কটি ছাড়া উত্তরটি এখনও সঠিক ধারণা দেয় এবং লিঙ্কের সাথে আপনি বিশদটি সন্ধান করতে পারেন।
জান জাইকা

তবে আমি আক্রমণাত্মক হওয়ার পরিকল্পনা করিনি যদি এটির মতো মনে হয় তবে :) আমি এই ওয়েবে খুব বেশি নই, কেবল একই সমাধান করছি এবং ভাগ করে নিতে চাইছিলাম।
জান জাইকা

5

আপনি যদি উদাহরণস্বরূপ উত্পাদন পরিবেশে অটোডেপ্লাই বৈশিষ্ট্যটি না চান তবে আপনি কনফ / ক্যাটালিনা / লোকালহোস্ট কনটেক্সট ফাইলে নিম্নলিখিত বৈশিষ্ট্যগুলি বিবেচনা করতে পারেন:

  • autoDeploy = "FALSE"
  • এবং deployXML = "মিথ্যা"

অটোডেপ্লয়ে = "মিথ্যা" একা কাজ করতে পারে না কারণ অ্যাপ্লিকেশন প্রসঙ্গে xxML (মেটা-আইএনএফ) অটোডেপ্লয়ের সার্ভার.এক্সএমএল সেটিংসকে ওভাররাইড করতে পারে।

  • অ্যাপ্লিকেশনটির মেটা-আইএনএফ / কনটেক্সট.এক্সএমএল অটোডেপ্লয়ে সহ বিকাশের পরিবেশে ব্যবহৃত হবে
  • কনফারেন্স / ক্যাটালিনা / লোকালহোস্ট প্রসঙ্গে উত্পাদন, অটোডেপ্লয়ে ছাড়াই।

deployXML অ্যাট্রিবিউট ডকুমেন্টেশন অ্যাট্রিবিউট ডকুমেন্টেশন পড়ার জন্য মূল্যবান (§ মানক বাস্তবায়ন) ation

এক্সহসিউটিভ অটোডেপলাই ব্যবহারকারীর কেস, এবং যখন প্রসঙ্গটি সরানো হয়: যেমন অ্যাপ্লিকেশন অপ্রয়োজনীয়, ব্যবহারকারী ক্ষেত্রে নথিভুক্ত থাকে এখানে পাওয়া যাবে


2

কেন বিট উত্তর ।

যাইহোক, এই লিঙ্কটি আপনি সেটিং দ্বারা এই বন্ধ করতে পারবেন যুক্তরাষ্ট্রের autoDeploy="false"মধ্যেserver.xml


1
Tomcat7 অটোডেপ্লাইয়ের অধীনে = "মিথ্যা" কোনও পার্থক্য করে না :(
জোসেফ লাস্ট

1

টমক্যাট এটি করার পিছনে যুক্তিটি কী তা আমি সত্যই জানি না তবে আপনার প্রসঙ্গের উপাদানটিতে নিম্নলিখিত এক্সএমএল বৈশিষ্ট্য যুক্ত করার চেষ্টা করুন

reloadable="false"

সুতরাং আপনার প্রসঙ্গটি এর মতো দেখতে পারে:

<Context path="/" docBase="/some/path/name" reloadable="false">
<!-- Context related stuff -->
</Context>

এটি টমকেট ফাইলটি মুছে ফেলা থেকে বিরত রাখতে হবে


দুর্ভাগ্যক্রমে, এটি উন্নয়ন আরও শক্ত করে তোলে কারণ প্রতিটি বিল্ডের পরে টমক্যাটটি পুনরায় চালু করতে হবে।
স্ট্যাটিক্সান

উন্নয়নে এটিকে সহায়তা করতে চেকআউট জেরবেল: zeroturnaround.com/jrebel
harmanjd

0

আমি বুঝতে পারি এটি একটি পুরানো থ্রেড, তবে আমি ভেবেছিলাম যে এই সমস্যাটি সমাধান করতে আমি যা পেয়েছি তা ভাগ করে নেব ...

টমক্যাটের আমার ডেস্কটপ সংস্করণটির জন্য আমার প্রসঙ্গ.এক্সএমএল ফাইলটি নিয়ে ঠিক একই সমস্যাটি ছিল আমি প্রতিবারই ক্লাব হয়ে গিয়েছিলাম যে আমি আমার অ্যাপ্লিকেশনের জন্য যুদ্ধের ফাইলের একটি নতুন অনুলিপি স্থাপন করব।

সমস্যাটি এই কারণে হয়েছিল যে আমি সরাসরি ফাইল সিস্টেমে এই ফাইলটিতে পরিবর্তন আনছিলাম। সমস্যাটি কী ঠিক করেছিল তা হল আমার Elpipse Editor এর মাধ্যমে প্রসঙ্গ। XML ফাইলটি সম্পাদনা করা। আমার Eclipse এর ভিতরে, একটি "সার্ভার" প্রকল্প রয়েছে যা একবার আপনি এটি প্রসারিত করার পরে, আপনি প্রসঙ্গ.এক্সএমএল এবং সার্ভার.এক্সএমএল এর মতো কয়েকটি মুখ্য ফাইল দেখতে পাবেন। এটি প্রদর্শিত হয় যে আপনি যদি ফাইল সিস্টেমে বাইরে যাওয়ার পরিবর্তে এখান থেকে ফাইলগুলি পরিবর্তন করেন তবে আপনার পরিবর্তনগুলি রাখা হবে।

আমি নিম্নলিখিত থ্রেডে এই সমাধানটি পেয়েছি: https://www.Liveray.com/commune/forums/-/message_boards/message/16511799

আমি আশা করি এটি অন্য কাউকে সাহায্য করবে!

-StephenS


0

শিরোনাম অনুসারে বর্ণিত সাধারণ ইস্যুটি প্রসঙ্গ মোছা ছাড়াই যুদ্ধ থেকে পুনরায় মোতায়েনের সাথে আবৃত যা এখনও এই মুহূর্তে একটি উন্মুক্ত সমস্যা issue

পুনঃ-স্থাপনার মধ্যে স্বীকৃত পার্থক্য রয়েছে যা প্রসঙ্গটি মুছে দেয় না এবং আন-ডিপ্লোয়ির পরে স্থাপন করুন যেখানে আন-ডিপ্লোয়াই প্রসঙ্গটি মুছে দেয়। ডকুমেন্টেশনটির মেয়াদ শেষ হয়ে গেছে এবং পরিচালক জিইউআই এখনও পুনরায় মোতায়েন সমর্থন করে না।


-1

কখনও কখনও এটি সার্ভারে অ্যাপ্লিকেশনটির জন্য বিভিন্ন মান থাকতে পারে, উদাহরণস্বরূপ আপলোডকৃত ফাইলগুলি সঞ্চয় করার জন্য একটি পথ। বিকাশকারী পরিবেশে মাবে আমাদের এমন কিছু রয়েছে:

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/ParkMeServer" allowCasualMultipartParsing="true" reloadable="false">
     <Parameter name="rutaTrabajo" value="C:\Larry\Proyectos\app\rutaTrabajoxx" override="true"/>
</Context>

তবে সার্ভারে পথটি পৃথক:

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/ParkMeServer" allowCasualMultipartParsing="true" >
     <Parameter name="rutaTrabajo" value="/usr/share/App/rutaTrabajo" override="true"/>
</Context>

আমারও একই সমস্যা রয়েছে, কনফ / ক্যাটালিনা / লোকালহোস্ট থেকে কনটেক্সট.এক্সএমএল (meapp.xML) মুছে ফেলা টমক্যাট

সমাধানের জন্য আমি কনটেক্সট.এক্সএমএল.ডিফল্ট ব্যবহার করি, একই পথে আমি কনটেক্সট.এক্সএমএল.ডিফল্ট নামে একটি ফাইল তৈরি করি এবং একটি পুট কনফিগারেশনের ভিতরে আমি ধারণ করতে চাই:

 cat context.xml.default
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/ParkMeServer" allowCasualMultipartParsing="true" >
     <Parameter name="rutaTrabajo" value="/usr/share/ParkiMeApp/rutaTrabajo" override="true"/>
</Context>

সুতরাং, অ্যাপ্লিকেশনটি পুনরায় প্রচারের সময়, নিশ্চিতকরণটি এখনও সেখানে রয়েছে।

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