怎么在java在servlet里设置个定时器,使其每隔几个小时自动执行一个任务?

如题所述

    如果是简单的烂代码,写个死循环,获取当前时间,如果时间到了你想要的时候就执行你想要执行的方法。

    如果要写的好点。起一个线程,线程里给个死循环,获取当前时间,如果为你想要的时间,就另外起一个线程跑你要的程序,如果不是则当前线程睡30秒或者1分钟什么的。

代码如下:

    public class Task1

    {public static void main(String[] args) {

    // run in a second

    final long timeInterval = 1000;

    Runnable runnable = new Runnable() {

    public void run() {

    while (true) {

    // ------- code for task to run

    System.out.println("Hello !!");

    // ------- ends here

    try {

    Thread.sleep(timeInterval);

    } catch (InterruptedException e) {

    e.printStackTrace();
    }
    }
    }
    };

    Thread thread = new Thread(runnable);

    thread.start();
    }
    }

温馨提示:内容为网友见解,仅供参考
无其他回答

怎么在java在servlet里设置个定时器,使其每隔几个小时自动执行一个任...
如果要写的好点。起一个线程,线程里给个死循环,获取当前时间,如果为你想要的时间,就另外起一个线程跑你要的程序,如果不是则当前线程睡30秒或者1分钟什么的。代码如下:public class Task1 {public static void main(String[] args) { \/\/ run in a second final long timeInterval = 1000;R...

java web程序,如何让servlet在规定时间执行一次,例如在每半个小时执行...
把你的代码写在这个timer的run方法里面即可

如何让它每隔3分钟就执行一个java工程里的类一次
<\/servlet> 在这个T1类中的初始化方法ini中写一个Timer类,按shcedule 定时去执行那个业务方法即可。

用java写一个服务程序定时执行任务,该怎么设计
二、循环执行设置定时任务的时候,往往我们需要重复的执行这样任务,每隔一段时间执行一次,而上面的方法是只执行一次的,这样就用到了schedule方法的是另一个重载函数public void schedule(TimerTask task,long delay,long period)前两个参数就不用说什么了,最后一个参数就是间隔的时间,又是个long型的...

JAVA定时执行任务,每天定时几点钟执行任务
1.MyJob02 \/\/首先我们需要定义一个任务类,比如为MyJob02 ,\/\/该类需要继承Job类,然后添加execute(JobExecutionContext context)方法,在 \/\/这个方法中就是我们具体的任务执行的地方。\/\/由希望由调度程序执行的组件实现的接口 public class MyJob02 implements Job { Override public void execute(...

JAVA中定时自动完成任务的实现
event getServletContext() log( 服务器已经启动了 );timer schedule(new MyTaker(event getServletContext()) );\/\/\/每隔多长时间检查扫描一次 event getServletContext() log( 已经加载了任务的列表 );} } 最后一步就是在web xml中配置监听 <! Java定时器 > <listener> <listener class> sun ...

java如何在每一天的凌晨00:00:00自动运行程序?
在java里面做定时任务通常是线程的 下面有个简单的定时任务(没验证是否好使 但基本是这个样子的)在web.xml里面增加一个监听 <listener> <listener-class>CountListen<\/listener-class> <\/listener> 具体代码如下 import javax.servlet.ServletContextListener;import javax.servlet.ServletContextEvent;import ...

java中如何控制时间间隔?
\/\/在应用服务器启动时,会执行该方法 publicvoid contextInitialized(ServletContextEvent arg0) { \/\/创建一个定时器,用于安排需要定时执行的任务。timer = new Timer();\/\/为定时器安排需要定时执行的任务,该任务就是前面创建的任务类TaskAvailableConnectNumber,并指定该任务每30分钟执行一次。timer....

用java的Quartz包定时调用方法,我想实现每隔一个半小时调用一次方法...
-- 指定Cron表达式:每月1日6点启动 --> <property name="cronExpression" value="0 0 6 1 * ? *"\/><\/bean><!-- 定义触发器来管理任务Bean --><bean id="cronTriggerPunch" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <!-- 使用...

java中在定时器,定时每周一定时执行某个任务,必须在周一重新启动了服务...
最常用的做法是使用UNIX的cron直接执行Java程序。并不需要在Java做的那么复杂。Windows服务器也有类似于cron的任务管理功能,同理 ---> Tomcat不是用来管理定时任务的,如果没有HTTP请求,Servlet是不会被执行的。建议lz把定期执行的处理做成一个独立的Java程序,用cron执行。如果不想写独立的Java程序,...

相似回答