EhCache 내장형 web caching을 사용해 보셨습니까? 그냥 web.xml
에 추가 :
<filter>
<filter-name>pageCachingFilter</filter-name>
<filter-class>net.sf.ehcache.constructs.web.filter.SimpleCachingHeadersPageCachingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>pageCachingFilter</filter-name>
<url-pattern>*.htm</url-pattern>
<url-pattern>*.js</url-pattern>
<url-pattern>*.png</url-pattern>
<url-pattern>*.gif</url-pattern>
<url-pattern>*.jpg</url-pattern>
<url-pattern>*.css</url-pattern>
</filter-mapping>
을 그리고에 SimplePageCachingFilter
캐시를 구성하여 ehcache.xml
:
<cache name="SimplePageCachingFilter"
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="31536000"
timeToLiveSeconds="31536000"
overflowToDisk="false"
memoryStoreEvictionPolicy="LRU"
statistics="true"
/>
으로 Ehcache 지금, 한 번에 읽기, 정적 리소스에 대한 모든 클라이언트 측의 요청을 가로 채고 캐시에 넣어 것입니다 사용자에게 반환하십시오. 클라이언트가 동일한 리소스에 대해 다시 전화하지 않도록 HTTP Expiry
headeres를 추가하는 것이 훨씬 좋습니다.
싱글 톤에서 수동으로 작성된 캐싱 및로드와 비교할 때이 방법이 더 좋지 않습니까?
소리가 크고 ist를 사용하면 필터를 구성하는 데 필요한 유일한 것입니까? 좋은. 'ehcache.xml'을 어디에 둘 것인가? web.xml과 같은 경로입니까? 전에는 ehcache를 사용하지 않았습니다. – Nils
'ehcache.xml'을'CLASSPATH'의 루트 (예 :'/ src/main/resources')에 넣어야합니다. 그들은 매우 광범위한 문서를 가지고 있으며 다른 기능을보기 위해 그것을 확인하십시오. –
당신이 말한대로 모든 것을 설정하고,''-Tags를'ehcache.xml'에 추가하고 docs의 maven-snippet을 통해 ehcache를 포함 시켰습니다. 하지만 Tomcat은 응용 프로그램을 시작할 수 없습니다. 'FAIL - 응용 프로그램을 context path/webapp에서 시작할 수 없습니다.', tomcat cant가 웹 XML을 올바른 방법으로 해결하는 것처럼 보입니다. 아직 세부 정보가없는 로그 항목을 찾을 수 없습니다. 어떤 아이디어, 그 원인? –
Nils