когда использование в спящем режиме 2-й кэш уровня и запрашивает кэш и не определение, что что-нибудь в ehcache.xml .what значение по умолчанию кэширует время?
Взято из документации по Конфигурация кэша :
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"
/>
Я не могу подтвердить это прямо сейчас, но вот что я бы сделал:
Хотя defaultCache очень удобен, он предпочтительно, чтобы каждый кэш настраивался индивидуально. По этой причине сообщение об уровне предупреждения журнала выдается каждый раз, когда создается кеш на основе значений defaultCache.