属性值必须在@Retryable
问题描述:
恒定
我有这个在我的课,我从application.properties
属性值必须在@Retryable
A类
@Value("${maxAttempts}")
private String maxAttempt;
@Value("${delay}")
private String delay;
@Value("${multiplier}")
private String multiplier;
@Value("${max-delay}")
private String maxDelay;
叫他们,我在这一行中使用它们
@Retryable(maxAttempts=maxAttempt, value=RuntimeException.class, backoff = @Backoff(delay =delay,multiplier = multiplier, maxDelay = maxDelay))
application.properties
maxAttempt=3
delay=3
max-delay=9
multiplier=2
但是我得到属性值必须是恒定的
编辑
@Value("${maxAttempts}")
private int maxAttempt;
@Value("${delay}")
private int delay;
@Value("${multiplier}")
private int multiplier;
@Value("${max-delay}")
private int maxDelay;
@Retryable(maxAttempts="${maxAttempts}", value=RuntimeException.class, backoff = @Backoff(delay ="${delay}",multiplier = "${multiplier}", maxDelay = "${max-delay}"))// @Retryable(maxAttempts = 3, value = RuntimeException.class, backoff = @Backoff(delay = 10000))
我得到发现的Java郎字符串,但需要INT
答
从春重试-1.2.0,我们可以在@Retryable注释使用配置属性凝望。
使用 “maxAttemptsExpression”,请参考下面的代码使用,
@Retryable(maxAttemptsExpression = “#{$ {maxAttempts}}”,退避= @Backoff(delayExpression =“#{$ {延迟}}“))
如果使用小于1.2.0的任何版本,它将不起作用。您不需要任何可配置的属性类。
cannnot解决maxAttemptsExpression ... –
您使用Spring的重试的版本? – VelNaga
1.1.2.RELEASE .. –