2014-10-15 3 views
0

у меня аналогичная проблема, как описано в этой теме: http://forum.spring.io/forum/attic/spring-modules/22590-can-t-cache-result-of-inner-method-callКэширование внутреннего боб вызывает

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

Я понимаю, что прокси-сервер кэширования просто делегирует все вызовы исходному компоненту, поэтому внутренние вызовы не могут быть перехвачены. Я понимаю это в случае java config - я только что создал свой bean-компонент с ключевым словом 'new'. Но почему у меня такое же поведение в xml config? Я ожидаю, что Spring может расширить мой класс с помощью его конструкторов и создать экземпляр нового класса. Таким образом, все внутренние вызовы также будут проходить через слой кеширования из-за полиморфизма.

Есть ли способ принудительного наследования, но не делегирование исходного компонента?

Спасибо, Алексей

ответ

0

Я только что нашел chapter в ссылке. В нем говорится, что «Spring AOP основан на прокси». Существует способ получить ссылку на реальный прокси: AopContext.currentProxy()), чтобы назвать его вместо «этого» компонента.

Смежные вопросы