无法让Spring Retry工作

时间:2018-07-02 14:59:18

标签: java spring spring-retry

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

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

除了添加所需的依赖项并设置我正在使用的功能@Retryable之外,这没有用。

我还在XML中为新创建的配置文件添加了组件扫描,并向其中添加了@Configuration@EnableRetry。我已经尝试了一个空的配置文件和一个设置了ReturnPolicy的文件,并尝试了有和没有Aspects的这两种设置,而不是使用@Retryable。两种选择均无效。

我没有足够的资源和想法去探索,任何帮助将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

我希望您可以正确设置和调用它。需要从初始化的Spring上下文中正确调用要发现的方法上的@Retryable批注。您是在做那件事(从Spring上下文中的Bean调用方法)还是通过其他方式-外部上下文调用?

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

您应该至少将测试类重组为以下内容:

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

参考页对为here