Как избежать региона JBoss-кэша от того, чтобы быть выселенным?

Я пытаюсь создать jboss-кэш для данных, которые только релевантны в течение короткого промежутка времени. После того времени должны быть отброшены данные, и соответствующая память освобождена.

Кэш организован как это:

/my_region
    /session_1
        /datanode_1
          attribute1: value1
        /datanode_2
          attribute2: value2
    /session_2
        ...
    /session_3
        ...
    ...
    ...

И моя конфигурация политики замещения похожа на это:

org.jboss.cache.eviction.LRUPolicy 

   
      5     
         
     100
     1800
        
   

Это работает: когда /my_region получает больше чем 100 детей, последние использованные дети выселены так, чтобы регион уменьшился назад 100 детям.

Проблема с LRUPolicy это, когда выселенные узлы имеют детей, они не полностью удалены, но отмечены с jboss:internal:uninitialized: null вместо этого. Это поведение имеет смысл для объектов, которые кэшируются, чтобы не выбирать их от персистентного устройства хранения данных, но это не подходит для кэширования объектов, которые не сохраняются и никогда не будут получаться доступ снова.

Так, для удаления узлов я создал расширение LRUPolicy это переопределяет, выселяют с, удаляют.

@Override
public void evict(Fqn fqn) throws Exception {
    cache_.remove(fqn);
}

Эта новая политика не уезжает joss:internal:uninitialized: nullпозади, но это удаляет /my_region узел, когда maxNodes достигнут. Когда я поместил LRUPolicy назад, я заметил, что сам узел региона на самом деле выселен и добирается unitialized тег, но 100 последний раз используемых детей все еще остается.

Как я могу предотвратить сам регион от того, чтобы быть выселенным? Там некоторый лучший путь состоит в том, чтобы сделать удаление вместо замещения, не разделяя замещение из истечения?

Я использую версию 1.3.0. SP4 jboss-кэша.

11
задан hvrauhal 19 February 2010 в 07:47
поделиться

1 ответ

Вы просматривали репозиторий ошибок JBoss-Cache ?


Редактировать:

Взгляните на этот JBoss- Ошибка кеширования, кажется вполне актуальной:

https://jira.jboss.org/jira/browse/JBCACHE-921

Исправлено в 1.4.1.SP1

5
ответ дан 3 December 2019 в 11:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: