java - spring-retry Retryble 注释与 retryTemplate
问题描述
我正在尝试理解 spring-retry 并且我看到了 2 种方法,第一种方法很简单
@Retryable(value = {SomeException1.class,SomeException2.class}, maxAttempts = Constants.RETRY_VAL, backoff = @Backoff(value = Constants.RETRY_BACK))
public String getData(){...}
以及第二种方式的 RetryTemplate(使用 RetryCallback/RecoveryCallback 执行)。
我的理解是,第二个提供了更细粒度的控制。我们什么时候会采用第二种方法?当我们有自己的 Backoff 和 retryPolicies 实现时,会不会是这样?
此外,我找不到使用@Retryble
注释设置自定义策略的示例或示例。
解决方案
在我看来,第二种方法RetryTemplate
是首选。因为这种方法帮助我们在一个地方编写配置并在多个地方使用。
您还可以创建一个或多个RetryTemplate
bean。每个RetryTemplate
bean 都用于一个异常映射。
推荐阅读
- python - 对参加高级 CS 课程的 Python 初学者(非 CS)的建议(需要良好的 Python 知识)
- c++ - 使用 sanitize=vptr 时对“__dynamic_cast”的未定义引用
- javascript - 如何在 Angular9 中使用 Promise.all 进行两次 api 调用?
- ssl-certificate - 如何在 IBM Cloud 上安装 godaddy ssl 证书?
- excel - 在 Excel 中打开嵌入的 mpp 文件
- javascript - setState 随机失败,由组件卸载引起
- firebase - Firebase 应用程序 - 跟踪用户上次访问的时间?
- react-native - 如何将 getMapBoundaries 与 React Naitve Maps 一起使用
- javascript - jQuery 函数在 jinja2 块中不起作用
- flutter - Flutter 是如何做出这种风格的小部件的?