加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Springboot @retryable没有重试

发布时间:2020-12-14 23:48:15 所属栏目:Java 来源:网络整理
导读:以下代码未重试.我错过了什么? @EnableRetry@SpringBootApplicationpublic class App implements CommandLineRunner{ ......... ......... @Retryable() ResponseEntityString authenticate(RestTemplate restTemplate,HttpEntityMultiValueMapString,Strin
以下代码未重试.我错过了什么?
@EnableRetry
@SpringBootApplication
public class App implements CommandLineRunner
{
    .........
    .........


    @Retryable()
    ResponseEntity<String> authenticate(RestTemplate restTemplate,HttpEntity<MultiValueMap<String,String>> entity) throws Exception
    {
        System.out.println("try!");
        throw new Exception();
        //return restTemplate.exchange(auth_endpoint,HttpMethod.POST,entity,String.class);
    }

我已将以下内容添加到pom.xml中.

<dependency>
        <groupId>org.springframework.retry</groupId>
        <artifactId>spring-retry</artifactId>
        <version>1.1.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-aop</artifactId>
    </dependency>

我也试过为@Retryable提供不同的参数组合.

@Retryable(maxAttempts=10,value=Exception.class,backoff=@Backoff(delay = 2000,multiplier=2))

谢谢.

解决方法

对于要发现的方法的@Retryable注释,需要从初始化的上下文中正确调用它.方法是从spring上下文中调用bean还是通过其他方式调用?

如果测试这是你的跑步者使用SpringJunit4ClassRunner?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读