日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

spring @retryable不生效的一種場景

作者:蔚藍色的風暴 更新時間: 2024-07-18 編程語言

項目中某個位置要調用其它部門的接口,一直有問題,對方讓加重試。使用@Retryable之后發現并沒有進行重試,之前其它接口都正常重試了。

經過研究發現了這個方法是直接寫在調用的類里面的,這種情況重試竟然不會進行。

在某個方法中調用另一個帶retryable的方法時,如果這個retry方法在同一個類中,不會進行重試

執行methodA 不會重試

public class TaskSubSchedule {
	public void methodA() {
    	System.out.println("開始測試");
        methodB();
    }
    
    @Retryable(value = RuntimeException.class,maxAttempts = 5)
    public void methodB() {
    	System.out.println("我是方法B");
        throw new RuntimeException();
    }
}

會重試

public class TaskSubSchedule {
    @Autowired
    private CiserviceImpl ciService;
	public void methodA() {
    	System.out.println("開始測試");
        ciService.methodB();
    }
    
    
    
public class CiServiceImpl {
    @Retryable(value = RuntimeException.class,maxAttempts = 5)
    public void methodB() {
    	System.out.println("我是方法B");
        throw new RuntimeException();
    }
}
}

原文鏈接:https://blog.csdn.net/qq_37831759/article/details/140489092

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新