gpt4 book ai didi

java - 如何使 spring @retryable 可配置?

转载 作者:IT老高 更新时间:2023-10-28 13:48:07 30 4
gpt4 key购买 nike

我有这段代码

@Retryable(maxAttempts = 3, stateful = true, include = ServiceUnavailableException.class,
exclude = URISyntaxException.class, backoff = @Backoff(delay = 1000, multiplier = 2) )
public void testThatService(String serviceAccountId)
throws ServiceUnavailableException, URISyntaxException {

//这里的一些实现}

有没有一种方法可以使 maxAttempts 、 delay 和 multiplier 使用 @Value 进行配置?或者有没有其他方法可以使注释中的这些字段可配置?

最佳答案

随着 Spring-retry 1.2 版的发布,这是可能的。 @Retryable 可以使用 SPEL 进行配置。

@Retryable(
value = { SomeException.class,AnotherException.class },
maxAttemptsExpression = "#{@myBean.getMyProperties('retryCount')}",
backoff = @Backoff(delayExpression = "#{@myBean.getMyProperties('retryInitalInterval')}"))
public void doJob(){
//your code here
}

更多详情请引用:https://github.com/spring-projects/spring-retry/blob/master/README.md

关于java - 如何使 spring @retryable 可配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38088449/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com