在过去的几天里,我一直试图让我的Spring应用程序使用Spring Retry,但到目前为止还没有运气。我有一个基于XML的配置,所以我尝试添加
<context:annotation-config/>
<aop:aspectj-autoproxy />
<bean class="org.springframework.retry.annotation.RetryConfiguration" />
除了添加所需的依赖项并设置我正在使用的功能@Retryable
之外,这没有用。
我还在XML中为新创建的配置文件添加了组件扫描,并向其中添加了@Configuration
和@EnableRetry
。我已经尝试了一个空的配置文件和一个设置了ReturnPolicy的文件,并尝试了有和没有Aspects的这两种设置,而不是使用@Retryable
。两种选择均无效。
我没有足够的资源和想法去探索,任何帮助将不胜感激。
谢谢!
答案 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