如何使用Java和Spring更改计划任务中的值

时间:2011-12-28 17:38:05

标签: java spring web-applications scheduled-tasks

PingInvoker.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();

   }
 }

1 个答案:

答案 0 :(得分:3)

调度程序注释只是最简单用例的轻量级便利。如果需要访问更多的灵活性,例如运行时重新调度任务,那么您需要使用不同的技术。

在您的情况下,您的班级@Autowire TaskScheduler字段就足够了,您可以使用该字段动态安排您的任务。有关详细信息,请参阅Spring docs