Мы планируем использовать некоторый механизм кэширования в нашем приложении и выбрали систему кэширования Java (JCS) после проведения сравнительного исследования среди многих других решений для кэширования. Все в порядке, когда я использую внешнюю конфигурацию (cache.ccf) для определения областей кеша и его свойств (например, maxlife, ideltime и т. Д.).
Но требование изменилось, чтобы иметь области динамического кеша, то есть нам нужно будет определить области кеша и их свойства во время выполнения. Я не могу найти более подробную информацию или образцы относительно этой операции. Я успешно создал области кеша во время выполнения (используя подпись метода ниже).
ICompositeCacheAttributes cattr=..
IElementAttributes attr = new ElementAttributes();
attr.setIsEternal(false);
attr.setMaxLifeSeconds( maxLife );
defineRegion(name, cattr,attr);
Но проблема в том, что IElmentAttributes не устанавливает кеш. Я исследовал источник JCS и обнаружил, что attr
никогда не устанавливается. Это неиспользуемый аргумент !! немного странно
После еще нескольких поисков в Google я нашел ниже варианты для установки атрибутов вручную, но все еще не работал
IElementAttributes attr = new ElementAttributes();
attr.setIsEternal(false);
attr.setMaxLifeSeconds( maxLife );
jcs.setDefaultElementAttributes(attr);
Все, что я хочу, это установить maxLifeSeconds для созданных регионов.