Я использую механизм абстрагирования кеша из Spring 3.0 RC1: я настроил байт-код (основанный на AspectJ), чтобы механизм кэширования можно было применять к методам, вызываемым из самого класса.Стоит сказать, что сначала я использовал прокси-подход: все работало нормально (методы вызываются из другого объекта.)
Как только я переключаюсь на AspectJ (я активировал LTW через, добавил правобанки на свое место - все работает нормально, исключений не выдается), кэширование не происходит
Есть предложения?Спасибо.
==== позднее редактирование ========
Я настроил журналы на DEBUG для org.springframework.
При использовании прокси-режима я отчетливо вижу сообщение Добавление кешируемого метода 'getLargeAssetContent' .... где getLargeAssetContent - это мой "кешируемый" метод ... (см. Ниже)
При использовании аспекта в режиме, Я не вижу этого сообщения ... каждый запрос отправляется на уровень DAO ... где, так как в ситуации, когда работает кэш, запросы останавливаются на уровне службы.
Что я делаю неправильно?Нужен ли мне aop.xml?Я не использовал AOP ...., поэтому у меня пока нет aop.xml.
Спасибо за вашу помощь.
*> * 2011-12-12 16:38: 55,998 DEBUG [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) Возвращение кэшированного экземпляра одиночного компонента 'assetController' 2011-12-12 16:38:57 654 DEBUG [org.springframework.web.servlet.DispatcherServlet] (http-127.0.0.1-8080-6) Последнее измененное значение для [/ 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
*