फ़ाइल अपलोड के लिए एक अलग अस्थायी निर्देशिका का उपयोग करने के लिए टॉमकैट कॉन्फ़िगर करें


14

मेरा टोमैट उदाहरण थोड़ी शेष जगह के साथ ड्राइव पर बैठा है। मैं जो एप्लिकेशन चला रहा हूं वह सर्वर से और एनएएस में मूव फाइल अपलोड करता है। अपलोड के दौरान, हालांकि, टॉमकैट इस फाइल को स्थानीय रूप से, संभवतः / अस्थायी निर्देशिका में रखता है।

मेरे सर्वर में बहुत सी जगह के साथ एक दूसरी डेटा ड्राइव है जहां मैं इस अस्थायी निर्देशिका को स्थानांतरित करना चाहूंगा। मैं टॉमकैट को कैसे कॉन्फ़िगर कर सकता हूं ताकि यह इस अन्य ड्राइव पर एक अस्थायी निर्देशिका का उपयोग करे, अर्थात। मैं इस निर्देशिका को कैसे स्थानांतरित कर सकता हूं?

संपादित करें: मैं विंडोज सर्वर 2k3 चला रहा हूं। मैंने CATALINA_TMPDIR env var को सेट करने की कोशिश की, लेकिन टॉमकैट ने इसे अनदेखा किया।

समाधान: मैं "मॉनिटर टॉमकैट" एप्लिकेशन का उपयोग कर रहा हूं जो गुजरता है

-Djava.io.tmpdir = C: \ कुछ \ डिफ़ॉल्ट \ निर्देशिका

जेवीएम को। यह मेरे द्वारा सेट किए जा रहे पर्यावरण चर को ओवरराइड कर रहा था। आप इसे जावा > जावा विकल्प के तहत पा सकते हैं

इसे बदलने से मेरी समस्या ठीक हो गई है।

जवाबों:


20

java.io.tmpdirबिलाव में करने के लिए सेट कर दिया जाता $CATALINA_BASE/temp। टॉमकैट के लिए $CATALINA_TMPDIRचलने से पहले आप इसे पर्यावरण चर सेट करके बदल सकते हैं startup.sh

से catalina.sh:

#   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
#                   the JVM should use (java.io.tmpdir).  Defaults to
#                   $CATALINA_BASE/temp.

यह केवल * nix सिस्टम के लिए काम करता प्रतीत होता है, क्योंकि जब मैंने Windows 2k3 में CATALINA_TMPDIR env var सेट करने की कोशिश की और टॉमकैट को बूट किया, तो यह डिफ़ॉल्ट अस्थायी फ़ोल्डर का उपयोग करना जारी रखा।
rcampbell

यदि आप विंडोज में सिस्टम एनवायरनमेंट वेरिएबल सेट करते हैं, तो प्रभावी होने से पहले आपको रीबूट करना पड़ सकता है।
कवरोजीन

उबंटू में आप अस्थायी निर्देशिका/etc/default/tomcat7
23'16

3

खिड़कियों पर यदि आप टॉमकैट को एक सेवा के रूप में चला रहे हैं, तो आपके पास एक कुंजी के समान है

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\myApplication\Parameters\Java

optionsमौजूदा के अंत में स्ट्रिंग मान (डबल क्लिक टू ओपन) सेट करें :

-Djava.io.tmpdir=c:\{yourDir}

इसने मेरे लिए काम किया।


1

यदि आप UNIX / Linux पर हैं, तो आप पहली बार ड्राइव पर अपनी अस्थायी निर्देशिका को दूसरी ड्राइव पर संबंधित निर्देशिका में सिंपलिंक कर सकते हैं। शायद सबसे सुरुचिपूर्ण समाधान नहीं है, लेकिन इसने मेरे लिए कुछ समय काम किया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.