2011-12-28 17 views
1

の値を変更することができますPingInvoker.javaどのようにスケジュールされたJavaでのタスクと春

@Service 
public class PingInvoker 
{ 
    @Scheduled(fixedRate = 5000) //<--how can I make this changeable while server is up and running 
    public void ping() 
    { 
    List<Server> svr = Manager.geList(); 

    System.out.println("Invoking " + svr.size() + " Ping(s)"); 

    for (Server i : svr) 
     i.ping(); 

    } 
} 

答えて

3

スケジューラ注釈は、最も単純なユースケースのためだけの軽量便利です。タスクの実行時の再スケジューリングなどの柔軟性にアクセスする必要がある場合は、別の手法を使用する必要があります。

あなたのケースでは、クラスの@AutowireTaskSchedulerフィールドに十分である必要があります。これを使用して、タスクを動的にスケジュールできます。詳細は、Spring docsを参照してください。

関連する問題