Я пытаюсь добавить аннотацию @Retryable
к одному из моих методов, и, поскольку я не могу использовать класс @Configuration
, я делаю это с xml в моей пружине <beans>
, например:
<context:annotation-config />
<aop:aspectj-autoproxy />
<bean id="retryAdvice"
class="org.springframework.retry.interceptor.RetryOperationsInterceptor"/>
Мое приложение жалуется на то, что Pointcut
недоступно
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.aop.config.internalAutoProxyCreator': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Pointcut
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562)
Caused by: java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Pointcut
at org.springframework.aop.aspectj.annotation.AbstractAspectJAdvisorFactory.<clinit>(AbstractAspectJAdvisorFactory.java:62)
Caused by: java.lang.ClassNotFoundException: org.aspectj.lang.annotation.Pointcut
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
, но оно находится в моем classpath согласно maven как часть aspectjweaver
1.8.9
# mvn dependency:tree
[INFO] +- org.springframework.retry:spring-retry:jar:1.2.4.RELEASE:compile
[INFO] +- org.springframework:spring-aop:jar:4.3.22.RELEASE:compile
[INFO] | \- org.springframework:spring-beans:jar:4.3.22.RELEASE:compile
[INFO] +- org.springframework:spring-core:jar:4.3.22.RELEASE:compile
[INFO] +- org.springframework:spring-aspects:jar:4.3.22.RELEASE:compile
[INFO] | \- org.aspectj:aspectjweaver:jar:1.8.9:compile
Как выЯ вижу, что я использую Spring 4.3.22, но похоже, что добавления spring-aspects
в качестве зависимости недостаточно, чтобы заставить spring-retry
работать, даже если он тянет aspectjweaver
.. Я что-то упустил?