2016-08-18 23 views
-1

以下のコードでは、コンパイルエラーAttribute value must be constantが発生します。それに対処する方法?application.propertiesからの読み取り:属性値は定数である必要があります

@Component 
public class ScheduledTasks { 

    @Value("${example}") 
    String message; 

    @Value("${update.rate}") 
    final static long rate; 

    @Scheduled(fixedRate = this.rate) 
    public void update() 
    { 
     System.out.println(this.message); 
    } 
} 
+0

? – Jens

+0

なぜあなたは*最終的な静的な*レートを持っていますか?これらの修飾子を削除してみてください。 –

+0

@Jens: '@Scheduled(fixedRate = this.rate)'の行 – HackerDuck

答えて

3

に変更します。あなたはコンパイルエラーを取得したラインで

@Scheduled(fixedRateString = "${update.rate}") 
public void update() 
{ 
    System.out.println(this.message); 
} 
+0

application.propertiesには、私はこれを持っています: 'update.rate = 5000' – HackerDuck

+0

@Downvoter理由を説明してください。 – Jens

+0

正常に動作します。なぜこの答えが落ちたのか分かりません。 – HackerDuck

関連する問題