如何做一个时间可控制的定时任务
有一个需求 一个页面配置时间,后台根据页面配置的时间定时运行任务。比如说在页面上配置15分钟。在后台就要每15分钟运行这个方法。这样如何实现呢?spring quartz的好像都是写死的时间。求一个完整的例子或者是思路 谢谢!! spring quartz javaee 企业级开发 --------------------编程问答-------------------- 定时器 --------------------编程问答--------------------我知道定时器a 如何实现啊 --------------------编程问答-------------------- Timer不是有个schedule(TimerTask task, Date firstTime, long period) 吗 --------------------编程问答-------------------- long period 是时间控制吧 可是如何从页面配置 一直读取数据库? --------------------编程问答-------------------- 重写TimerTask 的run方法 --------------------编程问答-------------------- 求代码 --------------------编程问答-------------------- 木有现成的,自己研究吧 --------------------编程问答-------------------- 还有人吗?? --------------------编程问答-------------------- quartz也有动态的设置,可以百度。 --------------------编程问答--------------------
public void contextInitialized(ServletContextEvent event) {
timer=new Timer(true);
Properties pro = null;
try {
pro = PropertiesUtils.getProps();
} catch (Exception e) {
e.printStackTrace();
}
String location = (String) pro.get("systemlocation");
int m = Integer.parseInt((String) pro.get("dateColldelayTimeSeconds"));
int n = Integer.parseInt((String) pro.get("dateColldelayLoopSeconds"));
event.getServletContext().log("每10分钟就启动一次~~~~~~");
timer.schedule(new EveryNMinuteDataCollectionTask(location),m*1000,n*1000*60);
}
每隔一个小时执行任务 timer.schedule(TimerTask, 0, 60 * 60 * 1000);
schedule方法的第一个参数是需要执行的任务,此类的类型为java.util.TimerTask,第二个参数为执行任务前等待时间,此处0表示不等待,第三个参数为间隔时间,单位为毫秒
这里的间隔数据 你从后台获取就好了,或者从xml文件中获取 --------------------编程问答-------------------- quartz可以结合数据库,动态执行任务的。 --------------------编程问答-------------------- n*1000*60 是从后台取?那数据库连接一直开着吗?
补充:Java , Java EE