मैं टॉमकैट कैशिंग को कैसे अक्षम करूं? मुझे अजीब स्थिर फ़ाइल समस्याएँ हो रही हैं


26

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

विचार?

जवाबों:


21

कैशिंगएलेग किए गए ध्वज को बदलने के बाद आपको / कैश / कैटालिना / लोकलहोस्ट में एप्लिकेशन कैश फ़ोल्डर को हटाना पड़ सकता है।

कॉन्फ़िगरेशन को server.xml के रूप में पेश किया जा सकता है

<Context className="org.apache.catalina.core.StandardContext"
                 cachingAllowed="false"
                 charsetMapperClass="org.apache.catalina.util.CharsetMapper"
                 cookies="true" 
                 reloadable="false" 
                 wrapperClass="org.apache.catalina.core.StandardWrapper">
        </Context>

2
+1 मैं अपने मूल उत्तर में इसका उल्लेख करना पूरी तरह से भूल गया। धन्यवाद!
KPWINC

2
LOL ... प्यार कहाँ है?
KPWINC

4
मैं chachingAllowedटैग कहां बदलूं ?
काजाक्स

1
जब शुरू करने बिलाव 8 से एक चेतावनी मिल गया: गुण को सेट cachingAllowedकरने के लिए falseएक मिलान संपत्ति नहीं मिला।
naXa

4
यह उत्तर अब किसी के पढ़ने के लिए सुपर-आउट है, और अब वास्तव में सही नहीं है (
टॉमकैट

14

Tomcat 8 / Tomcat के लिए 9 गुण conf / reference.xml में निम्नानुसार जोड़े जाने चाहिए

<Context>
  <Resources antiResourceLocking="false" cachingAllowed="false" />
  ...
</Context>

cachingAllowedझंडा बदलने के बाद आपको / कैश / कैटालिना / लोकलहोस्ट में एप्लिकेशन कैश फ़ोल्डर को हटाना पड़ सकता है । IntelliJ IDEA का कैश भी साफ़ करें (यदि आप इसे Tomcat चलाने के लिए उपयोग करते हैं):

Mac: / उपयोगकर्ता / {: उपयोगकर्ता} / लाइब्रेरी / कैश / IntelliJIdea {: संस्करण} / टॉमकैट /  
Linux: /home//hi/userarios/.IntelliJIdeaministr:version Ideal/system/tcc//
Windows: C: \ Users \ {: user} \। IntelliJIdea {: version} \ system \ tomcat \

अन्य मापदंडों के लिए Apache Tomcat 9 कॉन्फ़िगरेशन संदर्भ देखें ।


2
antiResourceLocking पर <संसाधन> -टग निश्चित रूप से गलत है के लिए tomcat 8
pscheit

यह टॉमकैट 7 के लिए सही नहीं है। "प्रॉपर्टी 'antiResourceLocking' को 'असत्य' में सेट करने से मैचिंग प्रॉपर्टी नहीं मिली।" ... "प्रॉपर्टी 'कैशिंगअलीगेटेड' को 'झूठा' सेट करने से मैचिंग प्रॉपर्टी नहीं मिली।"
Amalgovinus

@ टॉम्कट 7 के लिए एमालगोविनस ज़ालुमोन का जवाब देखें ।
naXa

@ Amalgovinus क्या आपने अपना मुद्दा हल किया? मुझे tomcat7 में एक ही समस्या है, आपने क्या किया?
आरोन

मुझे कभी भी काम करने के लिए संपत्ति नहीं मिली .. लेकिन मुझे पूरा यकीन है कि मेरा कैश एक असंबंधित तैनाती मुद्दा था :( उपयोगकर्ता त्रुटि
अमलगोविनस

13

मुझे टॉमकैट 7 में यह समस्या थी और इसका कारण यह था कि मेरे पास antiResourceLocking सेट टू ट्रू (यह एक अच्छे विचार की तरह लग रहा था ...)।

डॉक्स ( http://tomcat.apache.org/tomcat-7.0-doc/config/context.html ) के अनुसार :

कृपया ध्यान दें कि इसे सही करने के लिए कुछ साइड इफेक्ट्स हैं, जिसमें एक रनिंग सर्वर में जेएसपी रीलोडिंग को अक्षम करना शामिल है: बगज़िला 37668 देखें।

मेरे मामले में यह भी सादे स्थिर पाठ फ़ाइलों को कैश करने का कारण बना।

इसलिए, संक्षेप में, कम से कम तेजी से विकास के लिए मुझे इसका उपयोग करना पड़ा:

antiResourceLocking="false"
cachingAllowed="false"

मैं इसे कहाँ जोड़ूँ? अगर मैं कॉन्फिडेंस / रेफरेंस। एक्सएमएल में डालता हूं, तो यह मुझे "प्रत्येक के लिए एक मैचिंग प्रॉपर्टी नहीं मिली" ...
एरोन

1
संदर्भ तत्व की विशेषताओं के रूप में।
रेटो होहनेर

4

क्या आपने इस दस्तावेज़ की जाँच की है: Apache Tomcat कॉन्फ़िगरेशन संदर्भ ?

cacheMaxSize- किलोबाइट में स्थैतिक संसाधन कैश का अधिकतम आकार। यदि निर्दिष्ट नहीं है, तो डिफ़ॉल्ट मान 10240 (10 मेगाबाइट) है।

cacheTTL- कैश एंट्रीज रिवीलेशन के बीच मिलीसेकंड में समय की मात्रा। यदि निर्दिष्ट नहीं है, तो डिफ़ॉल्ट मान 5000 (5 सेकंड) है।

cachingAllowed- यदि इस ध्वज का मूल्य सत्य है, तो स्थैतिक संसाधनों के लिए कैश का उपयोग किया जाएगा। यदि निर्दिष्ट नहीं है, तो ध्वज का डिफ़ॉल्ट मान सत्य है।

ये पैरामीटर Tomcat 5.5 और Tomcat 6.0 के लिए समान हैं।


मैंने अपने appcontext.xml में 1000 और झूठे cacheTTL के लिए cachingAllowed सेट किया है, और मैं फ़ाइल को कैश नहीं करने के लिए फ़ाइल नहीं प्राप्त कर सकता हूं। इससे भी बुरी बात यह है कि यह टॉमकैट रीस्टार्ट में कैशिंग है।
स्टीफन केंडल

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