2009-08-04 3 views
3

Кто-нибудь знает, что такое поведение iSCTIS cacheModel, когда flushInterval отсутствует, скажем, если тип кеша MEMORY? Я надеюсь, что он просто оставляет кешированные результаты в памяти на неопределенный срок. У меня есть набор результатов, которые никогда не будут меняться без перезагрузки сервера, и я надеюсь только на их запрос один раз в течение всего срока службы приложения. Я думал, что если я оставил элемент flushInterval на карте кеша, это сработает ... но я не могу найти что-либо в документации, чтобы подтвердить это.Неопределенный flushInterval в iBATIS

+0

Josh, я не знаю ответа, но ваш рейтинг попадания в кеш может легко получить более 99,9% даже при flushinterval всего в 60 м, поэтому установка flushinterval на бесконечность не очень помогает. –

ответ

0

Из Ibatis source code и Ibatis User Guide

If flushInterval не установлен в CacheModel, то он устанавливается в NO_FLUSH_INTERVAL который -99999 и не является положительным числом миллисекунд, как руководство пользователя рекомендует. С помощью этого параметра кеш очищается только при вызове операторов (flush on execute) или явных вызовах команды flush, если вы переопределяете Ibatis.

Для того, чтобы получить поведение, которое вы желаете вам также потребуется указать <property name="Type" value="STRONG"/> в вашем CacheModel, для получения дополнительной информации см here .

Смежные вопросы