2013-03-15 2 views
2

안녕하세요 저는 EhCache에서 해결할 특정 작업이 있지만이를 수행 할 수 없습니다.EhCache 데이터를 플러시없이 디스크에

필자는 임박한 사용을 위해 메모리에 소량의 항목을 가지며 나머지는 디스크에 유지 될 "영구적 인 캐시"를 구축하려고합니다. 필자는 대개 여러 스레드의 캐시에 데이터를 쓰고 디스크에 항상 항목을 갖고 싶어서 재시동 후에도 사용할 수 있습니다.

<cache name="eternal_cache" maxBytesLocalHeap="1%" maxBytesLocalDisk="2G" 
     eternal="false" timeToLiveSeconds="0" 
     timeToIdleSeconds="120" overflowToDisk="true" 
     diskPersistent="true" memoryStoreEvictionPolicy="LFU" 
     transactionalMode="off"/> 

는 기본적으로 나는 통해 정의으로 Ehcache의 지속성 기능을 원하지만 크기 제한, 함께하는 지속성은 허용하지 않습니다.

내 구성에서 메모리에 항목이 있지만 적절한 종료가없는 경우 ehcache 관리자가 내 데이터를 잃어 버리는 문제가 발생했습니다. 나는 flush()에 대해서 읽었지 만 그것은 디스크에있는 항목을 유지하지만 적어도 메모리의 일부 데이터를 원합니다.

내 필요에 맞게 캐시를 구성하는 방법을 알려주실 수 있습니까?

답변

2

공식 설명서를 읽은 후 해결책을 찾았습니다.

그러나 Enterprise 버전에서는 Ehcache Persistence 전략 만 사용하여 지속 할 수 있습니다.

정상 버전에서는 flush() 또는 shutdown()을 호출해야만 가능합니다.

관련 문제