Wie kann Spring @Cacheable über den Aspekt von AspectJ hinaus funktionieren?

Ich habe einen Aspekt von AspectJ erstellt, der in einer Frühlingsanwendung einwandfrei funktioniert. Jetzt möchte ich Caching mithilfe von cachefähigen Beschriftungen hinzufügen.

Um zu überprüfen, ob @Cacheable abgeholt wird, verwende ich den Namen eines nicht vorhandenen Cache-Managers. Das reguläre Laufzeitverhalten besteht darin, dass eine Ausnahme ausgelöst wird. In diesem Fall wird jedoch keine Ausnahme ausgelöst, was darauf hindeutet, dass die Anmerkung @Cacheable nicht auf das abfangende Objekt angewendet wird.

/* { package, some more imports... } */

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.cache.annotation.Cacheable;

@Aspect
public class GetPropertyInterceptor
{
    @Around( "call(* *.getProperty(..))" )
    @Cacheable( cacheManager = "nonExistingCacheManager", value = "thisShouldBlowUp", key = "#nosuchkey" )
    public Object intercepting( ProceedingJoinPoint pjp ) throws Throwable
    {
        Object o;
        /* { modify o } */
        return o;
    }
}

Da mein Aspekt bereits funktioniert, wie kann ich @Cacheable darauf aufbauen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage