Java定时器问题

问题描述

我的一个定时任务放在tomcat下面,每天定时运行,类是继承了TimerTask,重写了run方法,但是我只要修改操作系统的时间,程序就在那一直等待,不能正常运行。这个怎么修改啊

解决方案

Timer对是基于绝对时间的,因此任务对系统时间的改变是敏感的;而ScheduledThreadPoolExecutor支持相对时间。建议使用ScheduledThreadPoolExecutor
解决方案二:
我也只写过Timer的,2楼的高手,以后有问题就请教你了,呵呵!
解决方案三:
你可以不根据系统时间啊,你可以写一个线程模拟时间,然后提供一个可以暂停和重新开始的操作,和一个可以自己控制时间的参数入口啊,要用到时候输入一个参数,点击开始就可以了,不用的时候直接点暂定,或者关闭啊!要么,你就找个稳定点的服务器,直接取上面的时间为标准啊

时间: 2024-10-25 19:27:24

Java定时器问题的相关文章

java定时器问题 ,实现每天指定时间执行任务

问题描述 java定时器问题 ,实现每天指定时间执行任务 我想让tomcat启动的时候执行一次,然后每天的凌晨1点执行一次 ,可是tomcat启动的时间不固定 ,不一定是1点,,,,,,,,,怎么实现呢? 解决方案 tomcat启动时最简单的就是web.xml配置一个servlet,启动时执行代码就行了. 1点钟的定时该怎么配就怎么配 解决方案二: 在tomcat启动你的servlet时,第一次启动你的定时器,并且这个时候,你的代码要捕捉当前的时间,然后利用当前的时间来计算凌晨1点的时间,然后设

java定时器 run方法怎么返回值 我要返回result 代码里一直报错 晚生跪求解决

问题描述 java定时器 run方法怎么返回值 我要返回result 代码里一直报错 晚生跪求解决 public VirementResultInfo queryTransaction( final String bank, final TransactionInfo transactionInfo) { // final VirementResultInfo result = null; TimerTask task = new TimerTask() { @Override public v

java定时器使用

定时器类Timer在java.util包中.使用时,先实例化,然后使用实例的schedule(TimerTask task, long delay)方法,设定指定的任务task在指定的延迟delay后执行.定时器任务类TimerTask是抽象类,继承并重写其run()方法,可实现具体任务. schedule(TimerTask task, Date time)设定指定任务task在指定时间time执行. cancel()方法结束这个定时器. schedule(TimerTask task, lo

java定时器和多线程实践记录

这几天因为需要测试mongodb读写分离的问题,因此写了个定时查询程序,并且用到了多线程,以达到定时启动多个线程查询数据库的效果,下边代码记录备忘: package timmer; import java.util.Timer; import java.util.TimerTask; import mongoService.mongoServiceImp.AlarmServiceImpl; import com.mongodb.DBObject; public class StartTim {

java定时器-java的定时器ScheduledExecutorService调用问题,急!!!

问题描述 java的定时器ScheduledExecutorService调用问题,急!!! 我自己写了个java类,类中用了ScheduledExecutorService定时器自动执行任务,然后把这个工程弄成了一个jar包,然后写一个.bat去调用,程序启动之后会自动进行定时任务,但问题来了,我想写一个.bat能够停止正在执行的定时任务,该怎么做? 解决方案 taskkill /im java.exe 解决方案二: 不会啊 呵呵 解决方案三: java定时器

java定时器,如何避免下标越界

问题描述 java定时器,如何避免下标越界 timer.schedule(new TimerTask() { @Override public void run() { Log.i("colorIndex", colorIndex + ""); if (colorIndex > 4) { colorIndex = 0; }else{ colorIndex++; } turnningColor = syColors[colorIndex]; postInvali

java定时器的具体使用和web使用

 公司部分项目提出将某些项目进行静态化...所以在测试页面命中率和数据库访问量之后针对某些写的频率比较低和访问比较大页面进行静态化.当然也不是进行实时的静态化.这里需要使用定时器来进行静态化的控制.下面了解一下定时器的应用!1.具体方法的了解   (1)Timer.schedule(TimerTask task,Date time)//安排在制定的时间执行指定的任务.   (2)Timer.schedule(TimerTask task,Date firstTime ,long period)/

求助,关于JAVA定时器暂停的问题

问题描述 现在我有一个定时器在跑,代码如下:publicvoidrunTimer(StringspaceId,intuploadSpan,intdownloadSpan){UploadTaskuploadTask=newUploadTask();map.put("up"+spaceId,uploadTask);Timertimer=newTimer();timer.schedule(uploadTask,newDate(),uploadSpan);Timertimer2=newTime

java定时器的实现

问题描述 如何用时间和字符串写出一个完美的,定时器案例,不使用Timer和多线程怎么做?我有一段初始化数据代码要执行,隔24小时执行一次.各位大牛说说你们的设计思路呗. 解决方案 解决方案二:quartzhttp://quartz-scheduler.org/解决方案三:楼主为什么想要自己实现定时器呢,是java自带的timer让你觉得不好用,还是单纯为了编程而练习.解决方案四:定时器本身也算是线程thread,LZ不直接拿现成的用有点匪夷所思,(1)com._21cn.oc.quartz.Re

java定时器的问题

问题描述 如图所示: 解决方案 这和定时器没有关系,这里涉及到的是java内部类,匿名类的知识.简单的说,就是对象可见范围的问题.解决方案二:这个定时器有什么关系呢?补充一下java内部类的知识吧.解决方案三:闭包所绑定的本地变量必须使用final修饰符,以表示为一个恒定不变的数据,创建后不能被更改.这种机制防止了在闭包共享中变量取值错误的问题解决方案四:...Connection connection = ......ResultSet rs = ps.executeQuery();...改成