2017-10-17 13 views
3

JVM을 다시 시작하기 위해 ehcache를 사용하여 디스크의 데이터를 보존합니다. 데이터가 매우 크기 때문에 BigMemory Go 제품을 사용해보고 싶습니다. 그러나 그들의 설명서에서 디스크 구성 (최대 크기, 경로)에 대한 언급을 찾지 못했습니다. 내 구성으로 Ehcache으로 는 다음과 같다 :디스크 지속성을 위해 BigMemory를 구성하는 방법은 무엇입니까?

PersistentCacheManager persistentCacheManager = 
newCacheManagerBuilder() 
.with(persistence(new File("path_to_cache_dest")) 
.withCache("myType"), newCacheConfigurationBuilder(String.class, String.class, newResourcePoolsBuilder() 
.disk(2, MemoryUnit.GB, true)) 
.build(true); 

BigMemory 이동에 상응하는 무엇입니까? BigMemory에서 디스크 지속성을 다루는 대상은 무엇입니까? 코드 샘플은 훌륭합니다.

+0

내가 아는 한, ehcache에는 크기 제한이 없습니다. 귀하의 데이터는 얼마나 큰가요? –

답변

2

BigMemory Go는 Ehcache 2.x를 기반으로하는 상용 제품입니다. 따라서 Ehcache 3.x와는 다른 코드베이스와 다른 API를 사용하므로 관련이 없습니다. 위에서 여전히 작동 것이라고

new CacheManager(new Configuration() 
    .cache(new CacheConfiguration("aCache", 10000) 
     .persistence(new PersistenceConfiguration().strategy(PersistenceConfiguration.Strategy.LOCALRESTARTABLE))  
     .maxBytesLocalDisk(2, MemoryUnit.GB) 
     .timeToLiveSeconds(1000) 
     .timeToLiveSeconds(360)) 
    .name("testDiskStoreSize") 
    .diskStore(new DiskStoreConfiguration().path("java.io.tmpdir/testDiskStoreSize"))); 

참고 :

그래서 당신은 디스크 지속성으로 Ehcache의 2.X를 구성하고 다음 상업 디스크 저장소를 사용하는 것이 상용 버전과 그 구성을 실행해야 Strategy.LOCALRESTARTABLEStrategy.LOCALTEMPSWAP으로 바꾸려면 오픈 소스. 충돌 재시작 가능성을 완화하고 다른 디스크 스토리지 모델을 사용하십시오.