2011-12-28 66 views
1

PingInvoker.java我怎樣才能改變值與Java計劃任務和Spring

@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

調度註解只是簡單的用例輕巧方便。如果您需要獲得更多靈活性(例如運行時重新安排任務),則需要使用其他技術。

對於您的情況,應該足夠在您的班級中使用@Autowire a TaskScheduler字段,然後您可以使用該字段動態調度您的任務。有關更多信息,請參見Spring docs