it-swarm-vi.tech

Làm cách nào để tắt bộ nhớ đệm Tomcat? Tôi có vấn đề tập tin tĩnh kỳ lạ

Làm cách nào để ngăn Tomcat lưu vào bộ nhớ cache? Tôi có các tệp css và html cơ bản mà tôi tải và sử dụng qua ajax và trừ khi tôi khởi động lại Tomcat, các thay đổi dường như không phản ánh. Các máy khác nhau, các trình duyệt khác nhau và tôi không nhận được các tệp cập nhật.

Suy nghĩ?

26
Stefan Kendall

Bạn có thể phải xóa thư mục bộ đệm của ứng dụng trong/work/Catalina/localhost sau khi thay đổi cờ cache.

Cấu hình có thể được giới thiệu trong server.xml như

<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

Đối với các thuộc tính Tomcat 8/Tomcat 9 nên được thêm vào trong conf/bối cảnh như sau

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

Bạn có thể phải xóa thư mục bộ đệm của ứng dụng trong/work/Catalina/localhost sau khi thay đổi cờ cachingAllowed. Đồng thời xóa bộ nhớ cache của IntelliJ IDEA (nếu bạn sử dụng nó để chạy Tomcat):

[.___] Mac: /Tomcat/[.__.[Windows: C:\Users\{: user} \. IntelliJIdea {: version}\system\Tomcat\[.___

Xem Tham chiếu cấu hình Apache Tomcat 9 để biết các tham số khác.

14
naXa

Tôi đã gặp vấn đề này trong Tomcat 7 và lý do là tôi đã đặt antiResourceLocking thành đúng (nghe có vẻ là một ý tưởng hay ...).

Theo các tài liệu ( http://Tomcat.Apache.org/Tomcat-7.0-doc/config/context.html ):

Xin lưu ý rằng việc cài đặt này thành true có một số tác dụng phụ, bao gồm cả việc vô hiệu hóa tải lại JSP trong máy chủ đang chạy: xem Bugzilla 37668.

Trong trường hợp của tôi, nó thậm chí còn khiến các tệp văn bản tĩnh đơn giản được lưu trữ.

Vì vậy, tóm lại, ít nhất là để phát triển nhanh, tôi phải sử dụng:

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

Bạn đã kiểm tra tài liệu này chưa: Tham khảo cấu hình Tomcat của Apache ?

cacheMaxSize - Kích thước tối đa của bộ đệm tài nguyên tĩnh tính bằng kilobyte. Nếu không được chỉ định, giá trị mặc định là 10240 (10 megabyte).

cacheTTL - Lượng thời gian tính bằng mili giây giữa các lần xác nhận lại bộ nhớ cache. Nếu không được chỉ định, giá trị mặc định là 5000 (5 giây).

cachingAllowed - Nếu giá trị của cờ này là đúng, bộ đệm cho tài nguyên tĩnh sẽ được sử dụng. Nếu không được chỉ định, giá trị mặc định của cờ là đúng.

Các tham số này giống nhau cho Tomcat 5.5 và Tomcat 6.0.

4
KPWINC