दो वातावरण चर रहे हैं। वे के रूप में है कि फ़ाइल के भीतर टिप्पणी में वर्णित हैं:
[JAVA_OPTS]: (वैकल्पिक) जावा रनटाइम विकल्पों का इस्तेमाल किया जब "शुरू", "बंद करो" या "रन" आदेश निष्पादित किया जाता है
और
[CATALINA_OPTS]: (वैकल्पिक) जावा रनटाइम विकल्पों इस्तेमाल किया जब "शुरू" या "चलाने" कमांड निष्पादित किया जाता है
तो दो अलग-अलग चर क्यों हैं? और क्या अंतर है?
सबसे पहले, एथर वेरिएबल में निर्दिष्ट कुछ भी, टोमकैट - "स्टार्ट" या "रन" कमांड शुरू करने वाले कमांड को पास किया जाता है - लेकिन केवल JAVA_OPTS में सेट मान "स्टॉप" कमांड पर पास किए जाते हैं। यह संभवतः टॉमकैट अभ्यास में कैसे चलता है इस पर कोई फर्क नहीं पड़ता क्योंकि यह केवल रन के अंत को प्रभावित करता है, शुरुआत में नहीं।
दूसरा अंतर अधिक सूक्ष्म है। अन्य एप्लिकेशन JAVA_OPTS का भी उपयोग कर सकते हैं, लेकिन केवल टोमकैट CATALINA_OPTS का उपयोग करेगा। इसलिए यदि आप केवल टॉमकैट द्वारा उपयोग के लिए पर्यावरण चर सेट कर रहे हैं, तो आपको सबसे अच्छा सलाह दी जाएगी कि आप CATALINA_OPTS का उपयोग करें, जबकि यदि आप अन्य जावा अनुप्रयोगों द्वारा उपयोग किए जाने वाले पर्यावरण चर सेट कर रहे हैं, जैसे कि जेबॉस द्वारा, आपको रखना चाहिए JAVA_OPTS में आपकी सेटिंग्स।
स्रोत:CATALINA_OPTS v JAVA_OPTS - What is the difference?
यह भी रूप में "मैं हर JVM के लिए कुछ की जरूरत है" या "मैं बिल्ला स्टार्टअप के लिए कुछ की जरूरत है" उनमें से सोचने के लिए उपयोगी है। मान लीजिए कि हम एक वितरित वातावरण पर जेएमएक्स निगरानी स्थापित करने की कोशिश कर रहे हैं और हम फ़ायरवॉल के पीछे हैं - हमें दो आरएमआई बंदरगाहों की आवश्यकता होगी ताकि इस प्रकार * स्टार्टअप * तर्क के रूप में Djava.rmi.server स्थापित किया जा सके। क्या हम इसे एक JAVA_OPT के रूप में करते हैं, एक शटडाउन एक नया जेवीएम निकालता है जो जेएमएक्स बंदरगाहों को सुनने की कोशिश करता है, इसे पकड़ नहीं सकता क्योंकि टॉमकैट पहले से ही यह सुन रहा है और JVM पहले से ही उपयोग में आने के बारे में एक त्रुटि के साथ रुक जाएगा - नहीं हम क्या चाहते हैं यह है? –
आपको बहुत बहुत धन्यवाद! – Serzhas