Вывод журнала Ehcache + Hibernate

Я получаю вывод журнала Eh-cache при использовании его с кешем Hibernate 2-го уровня - я не понимаю вывод и что это может означать. Он много печатается в журналах.

 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

Может ли кто-нибудь пролить свет на то, что это может означать? Судя по распечатке статистики, мой кеш второго уровня работает...

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 ]

Любая помощь будет оценена.

Саймон


person totalcruise    schedule 11.04.2012    source источник
comment
О, может ли кто-нибудь также подтвердить, что «averageGetTime» находится в миллисекундах, а не в секундах?   -  person totalcruise    schedule 11.04.2012


Ответы (1)


Этот вывод генерируется DiskStore, IIRC включен по умолчанию в EhCache. По сути, EhCache переполняет кэшированные данные из памяти на диск. Если вы хотите отключить эту функцию, установите для свойства overflowToDisk значение flase:

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

О, может ли кто-нибудь также подтвердить, что «averageGetTime» находится в миллисекундах, а не в секундах?

Подтверждено, миллисекунды. Хотя JavaDoc для Statistics.getAverageGetTime() немного запутанно:

[...] Поскольку ehcache поддерживает JDK1.4.2, для каждого времени получения используется System.currentTimeMilis, а не наносекунды. Таким образом, точность ограничена.

Я нашел следующий код в LiveCacheStatisticsImpl:

public float getAverageGetTimeMillis() {
    //...
    return (float) totalGetTimeTakenMillis.get() / hitCount;
}
person Tomasz Nurkiewicz    schedule 11.04.2012