Как сделать перевод исключений Spring Persistence с помощью AspectJ - PullRequest
2 голосов
/ 22 июля 2011

Я использую Spring 3.0 с AspectJ и люблю использовать AspectJ больше, чем AOP Proxies. Это работает, чтобы работать почти для любой проблемы, но не для Устойчивости Перевод Исключения. - Мой вопрос: как использовать AspectJ для трансляции исключений персистентности вместо Spring JDK AOP Proxies?

Соответствующие части моей конфигурации:

 <context:spring-configured/>
 ...
 <context:component-scan />
 ....
 <tx:annotation-driven mode="aspectj" transaction-manager="transactionManager" />   

1 Ответ

1 голос
/ 29 июля 2011

Это должно работать из коробки, если вы компилируете против spring-aspect.jar. См. org.springframework.orm.jpa.aspectj.JpaExceptionTranslatorAspect для справки. Возможно, его точки не соответствуют вашему сценарию, в этом случае вам нужно расширить аспект своими точками зрения. Вот стандартные включены:

pointcut entityManagerCall(): call(* EntityManager.*(..))
    || call(* EntityManagerFactory.*(..))
    || call(* EntityTransaction.*(..))
    || call(* Query.*(..));
...