Невозможно создать аспект 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!");
    }
}

0 ответов

Другие вопросы по тегам