重试处理 - 补偿策略

优质
小牛编辑
132浏览
2023-12-01

在瞬时失效之后做一个尝试它常常有助于在再试一次之前等待一会。因为通常失败是有一些问题引起的它只能通过等待来解决这些问题,如果RetryCallback失败,RetryTemplate可以暂停执行取决于BackoffPolicy在适当的位置

  1. public interface BackoffPolicy {
  2. BackOffContext start(RetryContext context);
  3. void backOff(BackOffContext backOffContext)
  4. throws BackOffInterruptedException;
  5. }

backoffPolicy可以不受约束的以任何选择的方式实现backoffspring batch 这个政策创造性的使用了object.wait()。通常情况下等待期间以指数方式上升。避免两个重试锁定步骤和失败。这是网上学到的,为了这个目的spring batch提供了ExponentialBackoffPolicy.