Невозможно создать аспект Spring AOP в репозитории Spring Data JPA при использовании прокси-серверов CGLIB
Я пытаюсь применить аспект в репозитории Spring Data JPA, и он работает нормально с конфигурацией Spring AOP по умолчанию
@EnableAspectJAutoProxy
(когда Spring использует стандартные прокси на основе интерфейса Java).
Тем не менее, когда я переключаюсь на прокси CGLIB:
@EnableAspectJAutoProxy(proxyTargetClass = true)
Я получаю это исключение:
Caused by: org.springframework.aop.framework.AopConfigException: Could not generate CGLIB subclass of class [class com.sun.proxy.$Proxy59]:
Похоже, Spring пытается обернуть прокси-сервер CGLIB в класс репозитория, который уже является прокси-сервером CGLIB (сгенерированным Spring Data) и терпит неудачу.
Есть идеи, как заставить это работать?
My Spring Data Repository:
import org.springframework.data.jpa.repository.JpaRepository;
public interface DummyEntityRepository extends JpaRepository<DummyEntity, Integer> {
}
и аспект:
@Aspect
public class DummyCrudRepositoryAspect {
@After("this(org.springframework.data.repository.CrudRepository)")
public void onCrud(JoinPoint pjp) {
System.out.println("I'm there!");
}
}