如何在春季的特定时间后执行功能?
问题描述:
我想在春天执行类似的源码,如下面的源代码。如何在春季的特定时间后执行功能?
@RequestMapping(value = "/test", method = RequestMethod.GET)
@ResponseBody
public String test() throws Exception{
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("test===========================");
}
}, 6000);
return "test";
}
但我不知道这是多么有效。如果用户连接很多,似乎有很多问题。
我想要更有效的如何在春天。 任何人都可以帮助我吗? 在此先感谢。
答
我不明白你打算怎么做(如果你会更具体:你想要返回什么,为什么你使用延迟响应?)。此外,它是不使用另一个线程进入请求好主意,因为每个请求一个线程自己... 无论如何,如果你需要安排,你可以试试这个(你必须创建此方法为服务)
@Scheduled(fixedDelay = 6000)
public StringscheduleFixedDelayTask() {
return "test";
}
,然后用它到你的控制器:
@Autowired
private ServiceName sname;
@RequestMapping(value = "/test", method = RequestMethod.GET)
@ResponseBody
public String test() throws Exception{
return this.sname.scheduleFixedDelayTask();
}
如果这不是你在寻找的,请阅读@Scheduled注释here
谢谢你的回答。但我会更清楚地提出问题。 – ansatgol