Я использую механизм абстракции кеша из Spring 3.0 RC1: я настроил байт-код (на основе AspectJ), чтобы механизм кеширования можно было применять к методам, вызываемым из самого класса. Стоит сказать, что сначала я использовал подход на основе прокси: все работало нормально (потому что методы вызываются из другого объекта).
Как только переключаюсь на AspectJ (активировал LTW через, добавил на их место нужные баночки - все работает нормально, никаких исключений не выкидывается) кеширования не происходит
Любое предложение? Спасибо.
==== редактировать позже ========
Я установил журналы для DEBUG для org.springframework.
При использовании режима прокси я ясно вижу сообщение Добавление кешируемого метода 'getLargeAssetContent' .... где getLargeAssetContent - мой "кешируемый" метод ... (см. Ниже)
При использовании режима aspectj я не вижу этого сообщения ... все запросы отправляются на уровень DAO ... где, как и в ситуации, когда кеш работает, запросы останавливаются на уровне обслуживания.
Что я делаю не так? Мне нужен aop.xml? Я не использовал АОП ...., поэтому у меня еще нет aop.xml.
Спасибо за помощь.
*> * 2011-12-12 16: 38: 55,998 ОТЛАДКА [org.springframework.cache.annotation.AnnotationCacheOperationSource]
(http-127.0.0.1-8080-6) Добавление кэшируемого метода getLargeAssetContent с атрибутом: [CacheOperation [public com.mycompany.myprj.model.AssetContent com.mycompany.myprj.dao.jcr.AssetDAOImpl.getLargeAssetContent (java.lang .String) выбрасывает com.mycompany.myprj.dao.MyPrjPersistenceException] caches = [assets] | условие = '' | key = '# nodeId'] 2011-12-12 16:38: 56,013 INFO [com.mycompany.myprj.dao.jcr.AssetDAOImpl] (http-127.0.0.1-8080-6) Получение содержимого (getLargeAssetContent) актива с узла с id = 575d8dc0-01be-41e4-85ce-a654fab97fe8 2011-12-12 16: 38: 56,092 INFO [com.mycompany.myprj.dao.jcr.AssetDAOImpl] (http-127.0.0.1-8080-6) Возвращение содержимое актива из узла с id = 575d8dc0-01be-41e4-85ce-a654fab97fe8 **
*
// содержимое кэшировано к настоящему моменту 2011-12-12 16: 38: 57,654 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] (http-127.0.0.1-8080-6) Возвращение кэшированного экземпляра singleton bean ' assetController '2011-12-12 16: 38: 57,654 DEBUG [org.springframework.web.servlet.DispatcherServlet] (http-127.0.0.1-8080-6) Значение Last-Modified для [/ myprj / asset / get / 575d8dc0- 01be-41e4-85ce-a654fab97fe8]: -1 2011-12-12 16: 38: 57,654 INFO [com.mycompany.myprj.services.AssetService] (http-127.0.0.1-8080-6) Получение актива с идентификатором: 57 год
*
<context:load-time-weaver/>
в свой контекст, верно? - person Kilokahn   schedule 08.01.2013