JCache (JSR107) допускает разные сроки действия для разных записей?

Предположим, я хочу кэшировать результаты вызовов дорогих методов. Эти записи в кэше должны иметь различную длительность срока действия (он же TTL). Возможно ли это с JCache, если записи помещаются в один и тот же экземпляр Cache?

Мне известно, что я могу назначить разные ExpiryPolicy для каждого кэша. Однако мне интересно, можно ли индивидуально назначить срок действия CacheEntry.

JCache поддерживает это? Если это так, я буду признателен за ссылку на пример кода для этого. Задача этого вопроса - чисто JCache без каких-либо специфических особенностей реализации.

1 ответ

Решение

Истечение переменной для каждой записи не поддерживается в JCache.

Справочная информация: изначально планировалось, что методы ExpiryPolicy иметь запись в качестве параметра. Во время доработки стандарта это было удалено, поскольку существовали опасения по поводу дополнительных издержек, особенно для распределенных кэшей, которым может потребоваться передать входные данные по сети, прежде чем можно будет вызвать политику истечения срока действия.

Другие вопросы по тегам