2017-08-30 119 views
0
恆定

我有這個在我的課,我從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

回答

0

從春重試-1.2.0,我們可以在@Retryable註釋使用配置屬性凝望。

使用 「maxAttemptsExpression」,請參考下面的代碼使用,

@Retryable(maxAttemptsExpression = 「#{$ {maxAttempts}}」,退避= @Backoff(delayExpression =「#{$ {延遲}}「))

如果使用小於1.2.0的任何版本,它將不起作用。您不需要任何可配置的屬性類。

+0

cannnot解決maxAttemptsExpression ... –

+0

您使用Spring的重試的版本? – VelNaga

+0

1.1.2.RELEASE .. –

相關問題