问题标签 [retrypolicy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
logging - Apache Camel 3.7.0 断路器和重新交付政策
我们正在尝试将断路器 (resilience4j) 与重新交付政策相结合(参见下面的路线)
我们注意到,如果在 CB 打开时交换处于重试过程中,则会继续调用 onRedelivery 处理器(请参阅日志)。但是,不会调用实际执行出站调用的处理器。
这真的很令人困惑,尤其是当我们增加 kafka 消费者时。这是这种方式吗?可以用其他方式处理吗?我们尝试了“retryUntil”,但这仅在合法重试期间调用(具有 RetryException 的那些 - 不是具有 CB 异常的那些)。
jboss7.x - 如何在 Jboss/Wildfly 中测试分配重试超时参数?
如何在 Jboss/Wildfly 服务器中测试分配重试超时参数,该参数将在抛出异常之前重试分配连接?当我在standalone.xml 中设置验证参数(例如validate-on-match)时,我可以很容易地检查服务器是否自动重新连接到数据库,如下面的服务器日志。
WARN [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool](批处理线程 - 2)IJ000621:破坏无法验证的连接:
问题:如何测试分配重试的工作原理?实际上我想检查重试策略在 Jboss EAP 中是如何工作的,以及当发生瞬态错误时我该如何处理?希望我的问题很清楚,有人可以给我建议。
retrypolicy - 在重试场景中,客户端是否可以在第二次尝试重试后从第一次尝试中获取响应?
情况就是这样。
我有一个客户端和服务器。客户端有重试策略的配置。我遇到了重试和超时的问题。这是上下文。客户端将在 5 秒后超时,然后再重试 2 次。如果服务器需要 7.5 秒来处理,则客户端在 15 秒后每次尝试都会超时。
下面是流程:
我的问题是为什么客户端无法在 7.5 的时间戳接受响应。客户端只需等待 15 秒并超时,即使服务器可以处理两个请求并提供响应。特别是如果尝试是读取 API。读取的 API 应该是幂等的,取其中一个都可以。
如果有人能提供一些见解,我真的很感激。
java - Failsafe : 执行 void 方法并根据成功/失败返回结果
我正在使用Failsafe
框架(链接)来执行一个方法。我的用例是执行一个void
方法 x 次并根据执行结果返回success
or 。failure
下面是我的(伪)代码的样子:
我可以使用run
方法Failsafe
来执行我的 void 方法(即methodThatNeedsToExecute()
)。但是,如何根据重试执行的方式返回某些内容?
spring - 如何使用 Java 配置在 Spring Batch 中配置 RetryTemplate
我正在尝试在 Spring Batch 中设置 RetryTemplate,我只是找不到有关如何将 RetryTemplate 添加到 StepBuilderFactory 的示例。我发现这个示例可以在 SpringBoot 应用程序中进行设置,https ://dzone.com/articles/how-to-use-spring-retry-template但在 Spring Batch 上没有运气。
我尝试使用 RetryTemplate 的原因是设置指数 BackOffPolicy (Spring Batch 如何为失败的作业配置重试周期)。
我想连接 RetryTemplate 就像设置 RetryTemplate Bean 一样简单,类似的东西(来自@Mahmoud Ben Hassine 的修改代码回答Spring Batch 如何为失败的作业配置重试周期):
我没有找到将其连接到 StepBuilderFactory 的方法。我想这将类似于“标准”重试:
有人有关于如何使用 Java 配置进行设置的示例/模板吗?
任何帮助/示例表示赞赏。谢谢,马库斯。
azure - 如何向使用 Azure 服务总线 Java SDK 的发布者/订阅者客户端添加重试选项(重试策略)?
我正在测试 Azure 服务总线发布者/订阅者客户端的重试选项,因为在突然连接失败后,客户端将不会重试发送或接收消息。
以下是发布者客户端 sendMessage() 方法的代码,我已将订阅的最大传递计数设置为 1000。客户端仍然使用默认的 retryPolicy 值,我看不到它重试,就像我在 amqpRetryOptions 中给出的那样。
我的方法错了吗?
- 如果是这样,标准方法是什么?
- 如果没有,如何处理重试机制?
如果没有怎么办
http - 请求超时的 http 重试 (408)
使用 hashcorpgo-retryablehttp
库 ( https://github.com/hashicorp/go-retryablehttp )
它会自动重试所有5xx
代码:
retryablehttp 在特定条件下执行自动重试。主要是,如果客户端返回错误(连接错误等),或者如果收到500范围的响应码(501除外),则在等待一段时间后调用重试。否则,返回响应并留给调用者解释。
是否有可能重试Request Timeout
,例如在408
http 状态代码上只是 ootb?
或者我应该构建一些自定义包装器?
aws-lambda - AWS Lambda 重试次数超过最大重试次数
我已经配置了一个 AWS Lambda,如果特定的 SQS 队列接收到消息,它将被触发,然后它将使用并处理该消息。如果发生任何异常,lambda 将重试 2 次,如果再次失败,则消息将转到 DLQ。
SQS 配置:
Lambda 配置:
一切正常。lambda 为错误场景重试了 2 次,然后将数据发送到 DLQ。但是现在,突然之间,一条消息在飞行中停留了 15 个小时。现在,由于最大接收设置为 10,它在进入 DLQ 之前重试了 10 次。这可能是什么原因?
c# - 将 IConfiguration 传递给静态类的好方法?
我正在使用这个使用 polly 进行重试的小巧扩展。
我们可以看到它定义了一个静态重试策略:
理想情况下,我想进行RetryTimes
设置。但是,我不确定如何传递IConfiguration
给RetryTimes
静态属性?
我能想到的工作是将 polly 策略定义为单例(这样我就可以读取设置)。然后在这个扩展方法中,我实际上传递了策略。这是在 .NET Core 中处理它的正确方法吗?