Механизм очистки кеша целиком есть, в примере он просто не использован
Чтобы очистить весь кеш и заставить все вычисляться заново, надо вызвать метод clearCache() в классе zThreadDisplayMethod
Очистка кеша для отдельных записей для меня не представляется полезной, т.к. такие дисплейные методы обычно работают очень быстро, и вычислять их в отдельном потоке не имеет смысла.
Но, если все-таки надо очистить кеш только для нужной записи в таблице для конкретного дисплей-метода, то можно удалить запись из двух мапов - mapResult и mapCalled класса zThreadDisplayMethod. А также из таблицы zThreadResultTable для того же самого ключа, что и для мапов, но еще дополнительно отфильтровав по коду сессии, который хранится в переменной session в классе zThreadDisplayMethod.
|