java每日定时执行任务 此任务就是把每日统计的数据表A 总计到一个总统计表B中!

作者&投稿:鄢仪 (若有异议请与网页底部的电邮联系)
在Java中如何设置一个定时任务,在每天的一个时间点自动执行一个特定的程序?具体代码怎么写?代码全点~

Quartz定时机制
首先导入jar包到程序内 quartz-all-1.6.0.jar

然后创建一个XML
TimeConfig.xml 名字可以自己定义


<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">

//你要执行的任务类
//jar类


//将你的类添加到定时器当中


execute //定时执行类里面的哪个方法







<!--
0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
0 0 12 ? * WED 表示每个星期三中午12点
"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 * * ? *" 每天上午10:15触发
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
"0 15 10 15 * ?" 每月15日上午10:15触发
"0 15 10 L * ?" 每月最后一日的上午10:15触发
"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发

上面这个是quartz的语法 定时单位
-->

0 0/5 * * * ? //定时的语法











//下面这个类就是我在XML中引入的类
package net.timed;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class MainTask {
public void execute() throws IOException
{
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("do my job"+dateFormat.format(new Date()));
Runtime.getRuntime().exec("cmd /c start E:/mbl/BusinessOffice/MoneDB/bin/bakup.bat");
}
}


然后在web.xml中把这个TimeConfig.xml添加进去作为监听
系统启动的时候自动就监听这个事件


<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">


contextConfigLocation


/WEB-INF/TimerConfig.xml




org.springframework.web.context.ContextLoaderListener



index.jsp




这个是quartz spring的定时机制 请仔细的看看 如果可以请给分哦

Timer类的定时调用。这种方式的缺点就是第一次调用的时候要手动启动,以后开始每天循环调用。当然这种方式的好处就是可以控制每天调用多少次。虽然第一次比较麻烦,但是给我的感觉还是不错的。下面我们来把这种方式稍微写一下。
在此处我用定时将日志文件中的数据入库作为例子来写。
public class SavaLog{
public void savaLog(){
Date() d=new Date();
Timer timer=new Timer();//实力化一个定时器类
TimerTask task=new TimerTask(){
public void run() {//使用匿名类的方式重写TimerTask中的run方法
System.out.println("======================计时器开始加载");
//在此方法中就可以调用数据层方法,或者其他的方法。run()中的内容会感觉我们的设置定时被 执行
}
};
/**
此处的设置表示从d所标示的时间起,没经过1000毫秒调用一次此方法。如果想每天调用此意则可以将
1000修改成 1000*60*60*24。
**/
timer.schedule(task, d,1000);
}
}
以上方法,如果是在web项目中,可以将此方法写在action或者是servlet中。然后再页面中加一个form表单。表单中添加一个submit按钮。form表单链接到action或者是servlet。想启动此定时方法的时候只要点击按钮就可以。我写的例子中式取当前时间。也就是点击按钮的时候run方法执行一次。而且是每1秒执行一次。如果将1000修改成 1000*60*60*24。则表示每天在你点击按钮的按个时间调用run方法。执行里面的内容。

1.用plSQL语句比较好写,先写一个select语句,查询A表的所有字段,然后用loop循环,update所有字段,

begin
for item in(SELECT * from A )
loop
if nvl(item.A的一个字段,0)<>0
then
update
更新 B表
end if;
end loop;
end;
2.定时器。可以写一个判断语句,就是当系统时间==23点的时候,执行这个操作。但是得保证程序一直运行。

Java做的话可以用Jcrontab,配置指定的时间运行你写的一个类即可。实现非常简单 只需要一个static的 run方法 读到A表的数据 插入到B表 删除A表所有数据


玩AVA没开G可是系统说我开G这是为什么??
你的客户端出问题了 介意你重新下载 安装 不然真当你开G就划不来了 还有 这可能跟你的电脑配置有关

科沃斯空气净化器好不好
科沃斯空气净化机器人不同于传统的空气净化器,科沃斯沁宝凭借自主移动、巡航净化功能和超强的净化能力脱颖而出,成为了市面上屈指可数的智能空气净化机器人。以科沃斯沁宝Ava为例:1、移动净化:无需干预,高效智能净化全屋 沁宝Ava所采用的是「TrueMapping全局规划」的技术,创新搭载了DToF传感器。这是业内...

万用表上AVA ACV DCV VDC 代表什么(有的电容什么的)
AVA:交流电流; ACV交流电压; DCV:直流电压; DCA :直流电流。万用表的测量技巧和选用一、指针表和数字表的选用: 1、指针表读取精度较差,但指针摆动的过程比较直观,其摆动速度幅度有时也能比较客观地反映了被测量的大小(比如测电视机数据总线(SDL)在传送数据时的轻微抖动);数字表读数直观,但数字变化的过程看起来...

移动净化革新净化方式 科沃斯沁宝AIRBOT Ava空气净化机器人评测_百度知 ...
这时候,一台科沃斯沁宝AIRBOT Ava空气净化机器人就可以搞定上述的全部问题,不管我在家还是不在家、家中有几个房间,都可以让Ava来解决,只要定时更换滤芯就可以了,可以说既节省了时间,又节省了空间。而冬天将至,雾霾严重无法开窗通风,空气净化产品使用频率增加;加之临近双十一,沁宝Ava预售价为4999,直降2000,且还享受升级...

玩AVA老是温度过高,自动关机!求高人指点! 电脑型号 技嘉 GA-MA770-S3...
为什么电脑自动关机?1.病毒问题:黑客对有系统漏洞的电脑进行入侵,入侵成功后就可以远程控制你的电脑所有行为,包括电脑关机。2.操作系统核心系统文件损坏,如果操作系统重要的运行文件丢失或者损坏,电脑字启动时候会因此无法完成初始化导致自动关机。3.使用定时关机软件和计划任务导致的自动关机。有些软件会...

ava太卡---不是配置问题!!!100分
很遗憾的告诉你,是服务器的问题.电信的玩家很多,这也是为什么电信开了3个区的原因.当同时在线用户多到一定程度的时候,玩家与服务器的数据交换就会产生延迟.这与你的网线,电脑配置是没有太大关系的.直接原因还是因为同时在线的用户太多,造成服务器超负荷.要想解决的话,只能叫腾讯再花钱增加带宽.不过这个...

TX的AVA 战地之王好玩么?
特殊模式包括爆破模式和夺包模式。玩家在此模式下要执行爆破特定地点或护送特殊货物等特殊任务。在所有特殊模式中,玩家在战斗中死亡时,不会复活,在下一回合游戏中复活并参加战斗。 爆破模式:同盟要在规定时间内在规定地点引爆定时炸弹;联军则要阻止同盟安放炸弹,并且要拆除安置好的炸弹。规定时间达到、炸弹被拆除、同盟...

...以前AVA还能玩,现在玩一盘就自动重启,为什么?
。2.系统文件损坏 系统文件被破坏,如Win2K下的KERNEL32.DLL,Win98 FONTS目录下面的字体等系统运行时基本的文件被破坏,系统在启动时会因此无法完成初始化而强迫重新启动。解决方法:覆盖安装或重新安装。3.定时软件或计划任务软件起作用 如果你在“计划任务栏”里设置了重新启动或加载某些工作程序时,当...

AVA里哪里买大炮?
暂时还没出~~~貌似就只有玩竞技雇佣兵模式,等boss出来的时候打死才能捡起来用~或者玩狙击模式,场地中央定时会刷一把,你可以捡着用。买不到的

求AVA战地之王死机问题和解决办法.
一、检查CPU和显卡散热,除尘,上油,或更换风扇。二、电源电压不稳,电源功率不足,更换质量高的功率大的电源。三、清理磁盘和整理磁盘碎片。1、在我的电脑窗口,右击要清理的盘符—“属性”—“清理磁盘”--勾选要删除的文件--确定--是。2、清除临时文件,开始—运行—输入 %temp% --确定。3、...

兴城市15786851131: java每日定时执行任务 此任务就是把每日统计的数据表A 总计到一个总统计表B中! -
用科升血: 1.用plSQL语句比较好写,先写一个select语句,查询A表的所有字段,然后用loop循环,update所有字段,begin for item in(SELECT * from A ) loop if nvl(item.A的一个字段,0)0 then update更新 B表 end if; end loop; end;2.定时器.可以写一个判断语句,就是当系统时间==23点的时候,执行这个操作.但是得保证程序一直运行.

兴城市15786851131: 怎么用Java实现定时执行某程序 -
用科升血: java中设置定时任务用Timer类可以实现. 一、延时执行 首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行.代码如下: package test; import java.util.Timer; public class TimeTask { public...

兴城市15786851131: Java 定时任务 -
用科升血: Calendar cal = Calendar.getInstance();//每天定点执行cal.set(Calendar.HOUR_OF_DAY,12);cal.set(Calendar.MINUTE,0);cal.set(Calendar.SECOND,0);Timer timer = new Timer();timer.schedule(new TimerTask() {public void run() {//执行的内容}},cal.getTime(), 24*60*60*1000);java定时器 每天12点 固定执行一个方法,,你可以借鉴一下

兴城市15786851131: JAVA实现定时任务的几种方式 -
用科升血: Java 基本的定时任务,总结方法有三种:1 创建一个thread,然后让它在while循环里一直运行着,通过sleep方法来达到定时任务的效果;2 用Timer和TimerTask与第一种方法相比有如下好处:当启动和去取消任务时可以控制第一次执行任务时可以指定你想要的delay时间3 用ScheduledExecutorService是从的java.util.concurrent里,做为并发工具类被引进的,这是最理想的定时任务实现方式,相比于上两个方法,它有以下好处:相比于Timer的单线程,它是通过线程池的方式来执行任务的可以很灵活的去设定第一次执行任务delay时间提供了良好的约定,以便设定执行的时间间隔

兴城市15786851131: java代码:如何定时执行任务,例如每天的12点整执行System.out.println("now"); -
用科升血: 如果你是在项目中使用,用quartz,如何使用自己搜索.如果你只是做测试,可用线程.public class Test implements Runable{ public void run() throws Exception{ while(true){ long time = System.currentTime().getTime();if(判断time是否是12:00){ System.out.println(""); } sleep(1000); // 暂时1秒. } } }//main方法中 Thread t = new Thread(new Test()); t.start();

兴城市15786851131: Java下定时执行任务的方法有哪些? -
用科升血: 1)java.util.Timer 这个方法应该是最常用的,不过这个方法需要手工启动你的任务:Timer timer=new Timer(); timer.schedule(new ListByDayTimerTask(),10000,86400000); 这里的ListByDayTimerTask类必须extends TimerTask里面的run()方...

兴城市15786851131: Java 如何实现这样的定时任务 -
用科升血: JDK中,定时器任务的执行需要两个基本的类: java.util.Timer; java.util.TimerTask;要运行一个定时任务,最基本的步骤如下: 1、建立一个要执行的任务TimerTask. 2、创建一个Timer实例,通过Timer提供的schedule()方法,将 TimerTask...

兴城市15786851131: java 有什么方法让指定的任务在每天指定的时间段内反复执行吗? -
用科升血: public static void mian(String[] args){ while(true){ if(time == 3点){//这个时间的判断你自己写啊, system.out.print("----------------"); } } } 然后别停止这个程序,就OK了. --->修改下判断就是: if(time <= 9点 && time >= 8点){//这个时间的判断你自己写啊, while(true){ new Thread().sleep(2000);//睡2秒.貌似2000毫秒=2秒.偷懒下,这个地方 system.out.print("----------------"); } }

兴城市15786851131: 求 java 实现按时间执行任务的方法和代码 -
用科升血: 你百度找一下“quartz定时器”或“Spring quartz定时器”.它可以配置订好几时去执行一下程序,也可以定好每间隔一段时间去执行一个程序,我相信你按照上面的肯定可以找到你需要的,网上写的都特别详细了.如果找不到或不明白,再做留言

兴城市15786851131: java中每个月第一天执行一次任务的定时器如何实现? -
用科升血: Date d = new Date();//获取服务器的时间...Calendar c= Canlendar.getInstance(); c.setTime(d); if(c.get(Calendar.DAY_OF_MONTH) == 1) //当前是1号 { //拿出党员的入党日期(年月)同当前月进行比较 如果相同 发送短信 // //写下你的判...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网