Java Can';我无法让Spring重试工作

Java Can';我无法让Spring重试工作,java,spring,spring-retry,Java,Spring,Spring Retry,在过去的几天里,我一直在尝试让我的Spring应用程序使用Spring重试,但到目前为止运气不佳。我有一个基于XML的配置,所以我尝试添加 <context:annotation-config/> <aop:aspectj-autoproxy /> <bean class="org.springframework.retry.annotation.RetryConfiguration" /> 除了添加所需的依赖项和设置我正在使用的函数@Retryable

在过去的几天里,我一直在尝试让我的Spring应用程序使用Spring重试,但到目前为止运气不佳。我有一个基于XML的配置,所以我尝试添加

<context:annotation-config/>
<aop:aspectj-autoproxy />
<bean class="org.springframework.retry.annotation.RetryConfiguration" />

除了添加所需的依赖项和设置我正在使用的函数
@Retryable
,这都不起作用

我还在XML中为新创建的配置文件添加了一个组件扫描,我在其中添加了
@Configuration
@enablerery
。我用一个空的配置文件和一个设置了ReturnPolicy的配置文件尝试了这两种设置,尝试了有方面和没有方面的设置,而不是使用
@Retryable
。两种选择都不起作用

我已经没有资源和想法可以探索了,任何帮助都将不胜感激


谢谢

我希望您的设置和调用是正确的。需要从初始化的spring上下文中正确调用要查找的方法上的注释。您是这样做的(从spring上下文的bean调用方法)还是通过其他方式调用的(在上下文之外)

或者JUnit是最好的朋友-试试看

您应该至少将测试类重新构造为:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=MyConfig.class)
public class MyServiceTest {
    @Configuration
    @EnableRetry
    @Import(myService.class)
    public static class MyConfig {}

两个参考页是

什么是spring版本?它是4.3.3.Release显示使用@Retryable的代码以及如何调用它。重试的代码在@Service java:
@Retryable public void postData(最终变量var)中抛出RestClientException{initConnections();最终HttpEntity request=buildRequest(var);restemplate.exchange(URL,HttpMethod.POST,request,APIResponse.class);}
从@Controller调用
尝试{myService.postData(variable)}catch(RestClientException e){//code}
我从同一上下文中的控制器注释类调用该方法,可重试函数位于服务类中。它们都位于同一项目中,并在我的applicationContext.xml中扫描