2012-04-11 4 views
1

최대 절전 모드 2 단계 캐시에서 Eh 캐시 로깅 출력을 수신 중입니다. 출력과 그 의미를 저해하지 않습니다. 그것은 로그에 많이 인쇄되고 있습니다.Ehcache + Hibernate 로그 출력

DEBUG [net.sf.ehcache.store.disk.Segment] put added 0 on heap 
DEBUG [net.sf.ehcache.store.disk.Segment] put updated, deleted 0 on heap 

누군가가 의미하는 바를 밝힐 수 있습니까? 제 2 수준 캐시는 ... 통계의 인쇄에 따라 작동하는 것으로 나타납니다

INFO [com.atlaschase.falcon.commands.domain.AircraftCommandResolutionService] [ name = aircraftCache cacheHits = 824 onDiskHits = 0 offHeapHits = 0 inMemoryHits = 824 misses = 182 onDiskMisses = 182 offHeapMisses = 0 inMemoryMisses = 182 size = 91 averageGetTime = 1.0745527 evictionCount = 0 ] 

어떤 도움을 주시면 감사하겠습니다

..

사이먼

이 출력은 DiskStore, IIRC에 의해 생성되는
+0

오 - 사람은 또한 'averageGetTime는'밀리가 아닌 초에 있음을 확인할 수 있습니까? – totalcruise

답변

2

EhCache에서 기본적으로 사용됩니다. 기본적으로 EhCache는 캐시 된 데이터를 메모리에서 디스크로 오버플로합니다. 이 기능을 사용하지 않으려면, flaseoverflowToDisk 속성을 설정합니다

<cache name="..." overflowToDisk="false" 

오 - 사람이 또한 'averageGetTime는'밀리가 아닌 초에 있음을 확인할 수 있습니까?

확인 됨, 밀리 초. JavaDoc of Statistics.getAverageGetTime() 약간 복잡하지만 :

[...]으로 Ehcache 지원 JDK1.4.2 때문에 각 시간 오히려 나노초보다 System.currentTimeMilis을 사용하여 얻는다. 따라서 정확도가 제한됩니다.

나는 LiveCacheStatisticsImpl에 다음 코드 발견 :

public float getAverageGetTimeMillis() { 
    //... 
    return (float) totalGetTimeTakenMillis.get()/hitCount; 
}