время кеширования по умолчанию при использовании Hibernate - PullRequest
8 голосов
/ 18 марта 2010

при использовании hibernate 2-го уровня кеша и кеша запросов и без указания чего-либо внутри ehcache.xml . Какое время кэширования по умолчанию?

1 Ответ

9 голосов
/ 18 марта 2010

Взято из документации по Конфигурация кэша :

The following attributes and elements are optional.

timeToIdleSeconds:
Sets the time to idle for an element before it expires.
i.e. The maximum amount of time between accesses before an element expires
Is only used if the element is not eternal.
Optional attribute. A value of 0 means that an Element can idle for infinity.
The default value is 0.

timeToLiveSeconds:
Sets the time to live for an element before it expires.
i.e. The maximum time between creation time and when an element expires.
Is only used if the element is not eternal.
Optional attribute. A value of 0 means that and Element can live for infinity.
The default value is 0.

Обратите внимание, что EHCache использует timeToLive, а не время истечения, и значение по умолчанию равно 0, если не указано.


Обновление: Хотя вышеприведенное о настройках по умолчанию при настройке кэша верно, похоже, что эти настройки по умолчанию не применяются, если вы не предоставите ehcache.xml. Так что я копнул немного дальше, и я думаю, что EHCache может всегда использовать defaultCache в этом случае - в том числе для StandardQueryCache - и этот defaultCache имеет timeToLive 2 минуты:

<defaultCache
        maxElementsInMemory="10000"
        eternal="false"
        timeToIdleSeconds="120"
        timeToLiveSeconds="120"
        overflowToDisk="true"
        diskPersistent="false"
        diskExpiryThreadIntervalSeconds="120"
        memoryStoreEvictionPolicy="LRU"
        />

Я не могу подтвердить это сейчас, но вот что я бы сделал:

  • сначала активируйте ведение журнала на EHCache, EHCache регистрирует предупреждение при использовании defaultCache:

Несмотря на то, что defaultCache является большим удобством, предпочтительно, чтобы каждый Cache настраивался индивидуально. По этой причине сообщение об уровне предупреждения журнала выдается каждый раз, когда создается кэш на основе значений defaultCache.

  • секунду, предоставьте ehcache.xml (и настройте кэш для StandardQueryCache ).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...