it-swarm-id.com

Bagaimana cara menonaktifkan caching Tomcat? Saya mengalami masalah file statis yang aneh

Bagaimana cara mencegah Tomcat dari caching? Saya memiliki file css dan html dasar yang saya muat dan gunakan melalui ajax, dan kecuali saya me-restart Tomcat, perubahannya sepertinya tidak mencerminkan. Mesin yang berbeda, browser yang berbeda, dan saya tidak menerima file yang diperbarui.

Pikiran?

26
Stefan Kendall

Anda mungkin harus menghapus folder cache aplikasi di/work/Catalina/localhost setelah mengubah flag cachingAllowed.

Konfigurasi dapat diperkenalkan di server.xml sebagai

<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>
21
Adam Brand

Untuk Tomcat 8/Tomcat 9 properti harus ditambahkan di conf/context.xml sebagai berikut

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

Anda mungkin harus menghapus folder cache aplikasi di/work/Catalina/localhost setelah mengubah tanda cachingAllowed. Hapus juga cache IntelliJ IDEA (jika Anda menggunakannya untuk menjalankan Tomcat):

 Mac:/Users/{: user}/Library/Caches/IntelliJIdea {: version}/Tomcat/
 Linux: /home/{:user}/.IntelliJIdea{:version}/system /Tomcat/[.____.[Windows: C:\Users\{: user} \. IntelliJIdea {: version}\system\Tomcat\

Lihat Referensi Konfigurasi Apache Tomcat 9 untuk parameter lainnya.

14
naXa

Saya punya masalah ini di Tomcat 7 dan alasannya adalah saya memiliki set antiResourceLocking menjadi true (kedengarannya seperti ide yang bagus ...).

Menurut dokumen ( http://Tomcat.Apache.org/Tomcat-7.0-doc/config/context.html ):

Harap perhatikan bahwa menyetel ini ke true memiliki beberapa efek samping, termasuk penonaktifan reload JSP di server yang berjalan: lihat Bugzilla 37668.

Dalam kasus saya itu bahkan menyebabkan file teks statis biasa di-cache.

Jadi, secara ringkas, setidaknya untuk pengembangan cepat saya harus menggunakan:

antiResourceLocking="false"
cachingAllowed="false"
13
Reto Höhener

Sudahkah Anda memeriksa dokumentasi ini: Referensi Konfigurasi Apache Tomcat ?

cacheMaxSize - Ukuran maksimum cache sumber daya statis dalam kilobyte. Jika tidak ditentukan, nilai standarnya adalah 10240 (10 megabita).

cacheTTL - Jumlah waktu dalam milidetik di antara validasi entri cache. Jika tidak ditentukan, nilai default adalah 5000 (5 detik).

cachingAllowed - Jika nilai flag ini benar, cache untuk sumber daya statis akan digunakan. Jika tidak ditentukan, nilai default dari flag adalah true.

Parameter ini sama untuk Tomcat 5.5 dan Tomcat 6.0.

4
KPWINC