바람둥이 캐싱을 비활성화하려면 어떻게합니까? 이상한 정적 파일 문제가 있습니다


26

바람둥이가 캐싱하는 것을 어떻게 방지합니까? ajax를 통해로드하고 사용하는 CSS 및 기본 HTML 파일이 있으며 Tomcat을 다시 시작하지 않으면 변경 사항이 반영되지 않습니다. 다른 컴퓨터, 다른 브라우저 및 업데이트 된 파일을받지 못했습니다.

생각?

답변:


21

cachingAllowed 플래그를 변경 한 후 / work / Catalina / localhost에서 애플리케이션 캐시 폴더를 삭제해야 할 수도 있습니다.

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태그 는 어디에서 변경 합니까?
kajacx

1
시작할 때 Tomcat 8에서 경고가 발생했습니다. 속성 cachingAllowed을 설정 false하여 일치하는 속성 을 찾지 못했습니다.
naXa

4
이 답변은 이제 매우 구식이며, 누구에게나
읽히고

14

Tomcat 8 / Tomcat 9의 경우 다음과 같이 conf / context.xml에 속성을 추가해야합니다.

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

cachingAllowed플래그를 변경 한 후 / work / Catalina / localhost에서 애플리케이션 캐시 폴더를 삭제해야 할 수도 있습니다 . 또한 IntelliJ IDEA 캐시를 지우십시오 (Tomcat을 실행하는 데 사용하는 경우).

Mac : / Users / {: user} / Library / Caches / IntelliJIdea {: version} / tomcat /  
리눅스 : /home/{:user}/.IntelliJIdea{:version}/system/tomcat/
Windows : C : \ Users \ {: user} \. IntelliJIdea {: version} \ system \ tomcat \

다른 매개 변수는 Apache Tomcat 9 구성 참조참조 하십시오 .


2
<Resources>의 antiResourceLocking- 태그는 tomcat 8에 대해 확실히 잘못되었습니다
pscheit

이것은 바람둥이 7에도 맞지 않습니다. " 'antiResourceLocking'특성을 'false'로 설정하면 일치하는 특성을 찾을 수 없습니다." ... " 'cachingAllowed'속성을 'false'로 설정하면 일치하는 속성을 찾지 못했습니다."
Amalgovinus

Tomcat 7의 @Amalgovinus는 Zalumon의 답변을 참조하십시오 .
naXa

@Amalgovinus 문제를 해결 했습니까? Tomcat7에서 동일한 문제가 있습니다. 어떻게 했습니까?
Aaron

나는 재산이 작동하지 않았다 .. 그러나 나는 나의 캐시가 관련되지 않은 배치 문제라고 확신한다. (사용자 오류
Amalgovinus

13

Tomcat 7 에서이 문제가 있었고 그 이유는 antiResourceLocking을 true로 설정했기 때문입니다 (좋은 생각처럼 들렸습니다 ...).

문서에 따르면 ( http://tomcat.apache.org/tomcat-7.0-doc/config/context.html ) :

이 값을 true로 설정하면 실행중인 서버에서 JSP 다시로드를 사용하지 않도록 설정하는 등 몇 가지 부작용이 있습니다. Bugzilla 37668을 참조하십시오.

필자의 경우 일반 정적 텍스트 파일이 캐시되었습니다.

요약하자면, 적어도 빠른 개발을 위해서는 다음을 사용해야했습니다.

antiResourceLocking="false"
cachingAllowed="false"

이것을 정확히 어디에 추가합니까? conf / context.xml에 넣으면 각각에 대해 "일치하는 속성을 찾지 못했습니다"라는 메시지가 표시됩니다.
Aaron

1
컨텍스트 요소의 속성으로
Reto Höhener 2012

4

이 문서를 확인 하셨습니까 : Apache Tomcat 구성 참조 ?

cacheMaxSize-정적 리소스 캐시의 최대 크기 (KB) 지정하지 않으면 기본값은 10240 (10MB)입니다.

cacheTTL-캐시 항목 재확인 사이의 시간 (밀리 초)입니다. 지정하지 않으면 기본값은 5000 (5 초)입니다.

cachingAllowed-이 플래그의 값이 true이면 정적 자원의 캐시가 사용됩니다. 지정되지 않은 경우 플래그의 기본값은 true입니다.

이 매개 변수는 Tomcat 5.5 및 Tomcat 6.0에서 동일합니다.


appcontext.xml에서 cachingAllowed를 false로 설정하고 cacheTTL을 1000으로 설정했는데 파일을 캐시 할 수 없습니다. 더 나쁜 것은 Tomcat 재시작을 통해 캐싱하는 것입니다.
Stefan Kendall

그런 다음 브라우저 캐시에서
가져와야
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.