java中在定时器,定时每周一定时执行某个任务,必须在周一重新启动了服务,该任务就会在指定的时间点执行

Datedate=newDate(System.currentTimeMillis());Calendarcd=Calendar.getInstance();cd.set... Date date=new Date(System.currentTimeMillis());
Calendar cd=Calendar.getInstance();
cd.setTime(date);
Timer timer = new Timer( true );
cd.set(cd.get(Calendar.YEAR), cd.get(Calendar.MONTH),cd.get(Calendar.DATE), 12, 12, 12);
timer.schedule(new OrderWeekTask(cd,"month"), cd.getTime());
我使用的是TOMCAT的服务器,TOMCAT一直起动着,但在指定的时间上该任务不执行,
只有重新启动该服务器他才会执行,我觉得很奇怪,我觉得这样太麻烦了,每次任务执行前要重新启动tomcat一次太麻烦了,我不晓得代码,哪里有问题,谢谢大家的帮助!
展开
 我来答
froole
推荐于2016-01-20 · TA获得超过1341个赞
知道小有建树答主
回答量:570
采纳率:0%
帮助的人:529万
展开全部
最常用的做法是使用UNIX的cron直接执行Java程序。
并不需要在Java做的那么复杂。

Windows服务器也有类似于cron的任务管理功能,同理

--------------------------->
Tomcat不是用来管理定时任务的,如果没有HTTP请求,Servlet是不会被执行的。

建议lz把定期执行的处理做成一个独立的Java程序,用cron执行。
如果不想写独立的Java程序,也可以用cron定期向Tomcat发送Http请求,但是,这样做的话注意程序处理时间不能太长,因为HTTP通信有timeout的制约。
cliff77
2010-09-01 · TA获得超过482个赞
知道小有建树答主
回答量:276
采纳率:0%
帮助的人:0
展开全部
不启动服务不可能执行任务。只能一直在后台运行这个服务或者用系统功能定时启动这个服务
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式