一个比较棘手的问题,要请教下各位高人(关于定时任务)
我在做一个订餐的系统时候,遇到只有一个问题,员工午餐订餐在明天9点前结束,
系统统计员工订餐的人数,如100人,在9点的时候讲结果以短信的形式发给餐饮店老板,提示订餐份额,待解决的问题是:系统如何在每天的9点触发这个任务,也就是执行指定的页面.
可以在服务器端执行这个任务吗,在没有打开浏览器页面的情况下.
急等回复,谢谢.
------解决方案--------------------这个最好用quartz来做~
写一个计划任务,每天早上9点触发,以短信的形式发给餐饮店老板~
用quartz不需要客户端去请求,只需要根据服务器端记录的订餐份额就可以了~
不推荐使用java.util.Timer,它有很多弊端~
------解决方案--------------------用quartz不需要客户端去请求这个是我想要的结果
--------------------------------------------
汗 看来我没说清楚 这回我上面写的应该清晰一些了吧
------解决方案--------------------用这个quartz,可以去springside中有相关介绍,也可以下springside项目
还可以用oracle的job
------解决方案--------------------在服务器端写存储过程,然后创建作业调度.(sqlserver数据库)
------解决方案--------------------这个问题已经有很多成功案例,可以利用 线程定时执行jsp请求,不过这个url请求要自己写!这个方式是完全可以实现的!
------解决方案--------------------做成webservice,client安装一个软件,并且把这个软件做成服务,这样运行才稳定!
------解决方案--------------------按时间出发任务
http://www-128.ibm.com/developerworks/cn/java/j-schedule/#resources
在你的serverlet里打开定时器,定时 器可以参见上面的地址
在init方法 里打开定时器
public void init() throws
ServletException {
// Thread t=new Thread(new TestTimer());
// t.start();
//开始任务
System.out.println( "//检查时间,执行程序 ");
timer = new Timer(true);
timer.schedule(new TestTimer1(), 0, 5 * 1000);//定时执行一次
}