java定时器每一分钟执行一次(怎么在java后台,写个定时任务比如,十分钟执行一次接口)
本文目录
- 怎么在java后台,写个定时任务比如,十分钟执行一次接口
- java中如何控制时间间隔
- 怎么用Java实现定时执行某程序
- java定时器 限制方法调用次数
- 如何用java实现一个计时器来定时读取和写入数据库急!
- 怎样用java做个定时器,每个星期一中午12点整执行doXX这一动作越详细越好.用监听哥跪谢!
- java计时器一分钟内重复
- java定时执行问题: 我想让一个Java代码在每小时的第25分钟执行一次的,这个怎么实现
- java定时任务没十分钟执行一次,成功就不执行了
怎么在java后台,写个定时任务比如,十分钟执行一次接口
对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。private java.util.Timer timer;//给你标注一下包,到时候别找错了timer = new Timer(true);timer.schedule(new java.util.TimerTask() { public void run(){ //你要定时执行的功能} }, 0, 30*1000);第一个参数是要操作的功能,一般匿名内部类,第二个参数是要设定延迟的时间,第三个参数是周期的设定,每隔多长时间执行该操作。更详细的内容,自己找API Timer类看看吧
java中如何控制时间间隔
我们可以使用Timer和TimerTask类在java中实现定时任务,详细说明如下:1、基础知识java.util.Timer一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。此类是线程安全的:多个线程可以共享单个 Timer 对象而无需进行外部同步。java.util.TimerTask由 Timer 安排为一次执行或重复执行的任务。2、示例代码该示例实现这样一个功能,在系统运行期间,每30分钟,系统自动检查连接池中的可用连接数,并输出到日志中。首先创建一个需要定时执行的任务类,这个任务类需要继承TimerTask,然后重写run()方法,run()方法体中的代码就是定时需要执行的操作,在本demo中,就是获取连接池中当前可用连接数,并输出到日志中,具体实现代码如下:public class TaskAvailableConnectNumber extends TimerTask { private Logger log = Logger.getLogger(TaskAvailableConnectNumber.class); private ConnectionPool pool=ConnectionPool.getInstance(); @Override publicvoid run() { log.debug("当前连接池中可用连接数"+pool.getAvailableConnectNumber()); }}下面定义一个监听器,负责在应用服务器启动时打开定时器,监听器需要实现ServletContextListener接口,并重写其中的contextInitialized()和contextDestroyed()方法,代码如下:public class OnLineListener implements ServletContextListener{ private Logger log = Logger.getLogger(OnLineListener.class); Timer timer = null; //在应用服务器启动时,会执行该方法 publicvoid contextInitialized(ServletContextEvent arg0) { //创建一个定时器,用于安排需要定时执行的任务。 timer = new Timer(); //为定时器安排需要定时执行的任务,该任务就是前面创建的任务类TaskAvailableConnectNumber,并指定该任务每30分钟执行一次。 timer.schedule(new TaskAvailableConnectNumber(), 0, 30*60*1000); log.debug("启动定时器"); } //应用服务器关闭时,会执行该方法,完成关闭定时器的操作。public void contextDestroyed(ServletContextEvent arg0) { if(timer!=null){ timer.cancel();//关闭定时器 log.debug("-----定时器销毁--------"); } }}监听器要想正常运行,需要在web.xml文件中进行配置,配置信息如下:《!-- 监听器配置开始 --》 《listener》 《listener-class》 cn.sdfi.listen.OnLineListener 《/listener-class》 《/listener》《!-- 监听器配置结束 --》以上步骤完成后,一个简单的定时器就算开发完成了。
怎么用Java实现定时执行某程序
java中设置定时任务用Timer类可以实现。 一、延时执行 首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行。代码如下: package test; import java.util.Timer; public class TimeTask { public static void main(String args){ Timer timer = new Timer(); timer.schedule(new Task(), 60 * 1000); } } 解释一下上面的代码。 上面的代码实现了这样一个功能,当TimeTask程序启动以后,过一分钟后执行某项任务。很简单吧:先new一个Timer对象,然后调用它的schedule方法,这个方法有四个重载的方法,这里我们用其中一个, public void schedule(TimerTask task,long delay) 首先,第一个参数 第一个参数就是我们要执行的任务。 这是一个TimerTask对象,确切点说是一个实现TimerTask的类的对象,因为TimerTask是个抽象类。上面的代码里面,Task就是我们自己定义的实现了TimerTask的类,因为是在同一个包里面,所以没有显性的import进来。Task类的代码如下 package test; import java.util.TimerTask; public class Task extends TimerTask { public void run(){ System.out.println("定时任务执行"); } } 我们的Task必须实现TimerTask的方法run,要执行的任务就在这个run方法里面,这里,我们只让它往控制台打一行字。 第二个参数 第二个参数是一个long型的值。这是延迟的时间,就是从程序开始以后,再过多少时间来执行定时任务。这个long型的值是毫秒数,所以前面我们的程序里面,过一分钟后执行用的参数值就是 60 * 1000。 二、循环执行 设置定时任务的时候,往往我们需要重复的执行这样任务,每隔一段时间执行一次,而上面的方法是只执行一次的,这样就用到了schedule方法的是另一个重载函数 public void schedule(TimerTask task,long delay,long period) 前两个参数就不用说什么了,最后一个参数就是间隔的时间,又是个long型的毫秒数(看来java里涉及到时间的,跟这个long是脱不了干系了),比如我们希望上面的任务从第一次执行后,每个一分钟执行一次,第三个参数值赋60 * 1000就ok了。 三、指定执行时间 既然号称是定时任务,我们肯定希望由我们来指定任务指定的时间,显然上面的方法就不中用了,因为我们不知道程序什么时间开始运行,就没办法确定需要延时多少。没关系,schedule四个重载的方法还没用完呢。用下面这个就OK了: public void schedule(TimerTask task,Date time) 比如,我们希望定时任务2006年7月2日0时0分执行,只要给第二个参数传一个时间设置为2006年7月2日0时0分的Date对象就可以了。 有一种情况是,可能我们的程序启动的时候,已经是2006年7月3日了,这样的话,程序一启动,定时任务就开始执行了。 schedule最后一个重载的方法是 public void schedule(TimerTask task,Date firstTime,long period)
java定时器 限制方法调用次数
添加一个静态常量,每当方法被调用,该常量减1,当该常量为0时,调用该方法就直接退出。
如何用java实现一个计时器来定时读取和写入数据库急!
Timer time = new Timer(); //定义一个 Timer //执行方法 里面需要一个类 可以定义一个伪类 //也可以 自己 定义一个类 继承TimerTask这个类 //里面必须实现 run方法 //run方法 里面就写你的 实做 方法 //schedule 方法有很多重载 有很多参数我用最简单的//给你说明 第2个参数是 说 每隔一定的时间执行一次//相关说明可以去jdk 帮助文档里面找 time.schedule(new TimerTask() { public void run() { int inSertValue{ try{ commection con1=con; Statement stmt=con1.createStatement(); str="(insert ……)"; …… stmt.close(); } catch() {……} } } //加到这里就好了!!最好把这样方法封装起来 } }, 1000);
怎样用java做个定时器,每个星期一中午12点整执行doXX这一动作越详细越好.用监听哥跪谢!
主类:package tiwen4; import java.util.Calendar; import java.util.Timer; public class quartz { public static void main(String args) { try{ Calendar cal = Calendar.getInstance();//设置定时时间 cal.add(Calendar.DATE, 0);//表示从今天的12点开始跑起来,如果当前时间超过12点会马上跑一次,否则等12点再跑第一次 cal.set(Calendar.HOUR_OF_DAY, 12);//24小时制的,12就是中午12点 cal.set(Calendar.MINUTE, 0);//分 cal.set(Calendar.SECOND, 0);//秒 Timer processTimer = new Timer(); processTimer.scheduleAtFixedRate(new ProcessClass(), cal.getTime(), 86400000);//86400000是24小时,即24小时跑一次 }catch(Exception e){ e.printStackTrace(); }finally{ } } }定时器调用的类--我在这里只是输出了一下~你也可以自己加函数:package tiwen4; import java.util.TimerTask; public class ProcessClass extends TimerTask { @Override public void run() { // TODO Auto-generated method stub System.out.println("输出了哈哈");// } } 我上面用的只是一种方式,其实定时方式有很多的linux和window都有自带的定时器,可以直接调用,也可以用上面所说的quartz包带的框架等等
java计时器一分钟内重复
《html》《head》《style》input{ width:100px;}body { text-align:center; font-size:12px;}《/style》《script》 function show(obj){ var btn=obj.value; show2(); if(btn!=’点击开始倒计时’){ clearInterval(s); } } function show2(){ document.getElementById(’btn’).value=60; s=setInterval(cycle,1000); } function cycle(){ if(document.getElementById(’btn’).value《=0){ clearInterval(s); window.close(); }else{ document.getElementById(’btn’).value-=1; } }《/script》《/head》《body 》 《input type="button" name="btn" id="btn" value="点击开始倒计时" onclick="show(this)"》 《br》《/body》《/html》
java定时执行问题: 我想让一个Java代码在每小时的第25分钟执行一次的,这个怎么实现
用spring quartzpublic class MyJob{ //这里如果你定义实例变量,可用spring依赖注入,例如 private String job; public void setJob(String job){ this.job = job; } //你要执行的操作 public void execute(){ }}spring 配置文件beans-config.xml《?xml version="1.0" encoding="UTF-8"?》***隐藏网址******隐藏网址******隐藏网址******隐藏网址*** 《bean id = "myJob" class="MyJob"》 《!--如果有注入属性在这里写 《property name = "job" value="hihi"》《/property》 --》 《/bean》 《bean id = "myjobDetail" class = "org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"》 《property name="targetObject" ref="myJob"》 《/property》 《property name="targetMethod" value="execute"》《/property》 《/bean》 《bean id ="triggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean"》 《property name="jobDetail" ref="myjobDetail"/》 《!-- 秒 分 小时 天 月 年--》 《property name="cronExpression" value="0 25 * * * ?"/》 《/bean》 《bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"》 《property name="triggers"》 《list》《ref bean = "triggerBean"/》《/list》 《/property》 《/bean》《/beans》在主类中读取定义文件,任务计划自动运行。public class Test(){ public void static main(String args){ ApplicationContext context = new ClassPathXmlApplicationContext("beans-config.xml");}}将配置文件放在该项目的classpath下,一般你放在src目录下即可。也可以自己创建路径放置,在项目的.classpath中可配置下此路径。最后导入spring的jar包就可以了。
java定时任务没十分钟执行一次,成功就不执行了
题主问的是java定时任务没十分钟执行一次,成功就不执行了是什么原因?是系统故障的问题。java定时任务没十分钟执行一次,成功就不执行了是系统故障的问题,主要是任务最外面没有用try-catch 捕捉,或者是任务执行时,遇到了Uncaught Exception,导致这个定时任务停止执行了。java是一种计算机编程语言,拥有跨平台,面向对象,泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发,任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言。
更多文章:
金山办公软件手机版下载(金山文档手机版怎么用 手机上如何用金山文档)
2024年8月1日 08:16
days matter(怎么用倒数日Days Matter软件记录日期)
2024年1月29日 16:40
googleplay商店最新版(谷歌play商店的电脑版官方网址是)
2024年6月28日 17:29
手机百度极速版下载安装(华为荣耀手机正观极速版本百度怎么样下载安装)
2024年6月24日 03:48
2022年图片壁纸(求2022最火壁纸图片1最全资源嘛~跪求!谢谢!!)
2024年6月28日 23:46