A. java中定時任務quartz如何將歷史數據寫入新表
我建議的做法是在資料庫中建一些Quartz的表,MySQL的建、刪表腳本,最主要的修改是quartz.properties,如果你使用的是其他資料庫,可以下載Quartz的distribution,在\docs\dbTables下。然後我們可以啟動Bootstrap類,注冊、運行定時任務。你可以發現MySQL的表中已經有此定時任務的記錄了。
然後你可以停止Bootstrap類,將Bootstrap類中關於注冊、啟動定時任務的代碼刪除或注釋,然後啟動Bootstrap類,看上一次操作注冊的定時任務會不會繼續運行。
如無意外,看上一次操作注冊的定時任務會繼續運行。
B. Quartz的定時任務。我要每隔24小時執行一次。Quartz怎麼設置。
1、首先新建一個控制台程序,利用Nuget引入Quartz的程序包,同時會自動引入日誌庫,用於輸入日誌,如下圖所示。
C. 如何監控java quartz定時器中的所有定時任務
你好:
監控用
org.quartz.Scheler
//TriggerState:-1表示不存在,0表示正在運行,1表示暫停中
inttriggerState=scheler.getTriggerState(trigger.getTriggerName(),trigger.getTriggerGroup());
//啟動
scheler.scheleJob
//暫停
scheler.pauseTrigger
//移除
scheler.unscheleJob
具體的查一下API吧
D. java如何利用第三方Quartz實現定時任務
給你一個簡單的案例加詳細註解
/*
* job是一個介面,只有一個方法void execute(JobExecutionContext context),
* 被調度的作業(類)需實現該介面中execute()方法,
* JobExecutionContext類提供了調度上下文的各種信息。每次執行該Job均重新創建一個Job實例
*/
public class MyJob implements Job {
//MyJob類為需要定時執行的類,execute為定時執行的方法。一個定時任務對應一個Job實現類。
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
// TODO Auto-generated method stub
perform();
}
public void perform(){ //執行報表統計入口函數
//業務邏輯
System.out.println("執行時間:"+new Date());
}
}
public class QuartzTest5 {
public static void main(String[] args) throws Exception {
//SchelerFactory 是一個介面,用於Scheler的創建和管理
SchelerFactory factory = new StdSchelerFactory();
//從工廠裡面拿到一個scheler實例
//計劃表(可能翻譯的不太貼切),現在我們有了要做的內容,
//與調度程序交互的主要API
/*
* Scheler的生命期,從SchelerFactory創建它時開始,
到Scheler調用shutdown()方法時結束;Scheler被創建後,
可以增加、刪除和列舉Job和Trigger,以及執行其它與調度相關的操作
(如暫停Trigger)。但是,Scheler只有在調用start()方法後,
才會真正地觸發trigger(即執行job)
*/
Scheler scheler = factory.getScheler();
//具體任務.
//用於定義作業的實例
//JobBuilder - 用於定義/構建JobDetail實例,用於定義作業的實例。
JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity("job1", "group1").build();
//Trigger(即觸發器) - 定義執行給定作業的計劃的組件
//TriggerBuilder - 用於定義/構建觸發器實例
CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1")
.withSchele(CronScheleBuilder.cronSchele("0/1 * * * * ?")).build();
scheler.scheleJob(job, trigger);
scheler.start();
}
}
E. 如何監控java quartz定時器中的所有定時任務
定時器的實現:
1、首先實現一個用於被執行的類,這個類用於被定時器調度,這個類不需要繼承任何類或者介面,代碼如下:
publicTestQuartz{
public void doSomething(){ //TODO } }
2、spring配置文件,具體配置
<!-- 被執行類 -->
<beanid="testQuarzt"class="test.testQuarzt"/>
<!-- 將testQuarzt注入到job中 -->
<beanid="testQuartzJob"class="org.springframework.scheling.quartz.">
<property name="targetObject" ref="testQuarzt" /> <property name="targetMethod" value="doSomething" /> <property name="concurrent" value="false" /> </bean>
<!-- 將job注入到定時觸發器 -->
<beanid="testTrigger"class="org.springframework.scheling.quartz.CronTriggerBean"> <property name="jobDetail" ref="testQuartzJob" /> <property name="cronExpression"> <value>0 0 6 * * ?<value> <property> <bean>
<!-- 將定時觸發器注入任務工程 -->
<beanclass="org.springframework.scheling.quartz.SchelerFactoryBean"> <property name="triggers"> <list>望採納,謝謝。
F. java:如何使用 quartz定時執行任務,例如定時執行System.out.pintln("aa");看清楚用quartz
}
importstaticorg.quartz.CronScheleBuilder.cronSchele;
importstaticorg.quartz.JobBuilder.newJob;
importstaticorg.quartz.TriggerBuilder.newTrigger;
importjava.text.SimpleDateFormat;
importjava.util.Date;
importorg.quartz.CronTrigger;
importorg.quartz.JobDetail;
importorg.quartz.Scheler;
importorg.quartz.SchelerFactory;
importorg.quartz.impl.StdSchelerFactory;
publicclassTest{
publicvoidgo()throwsException{
//首先,必需要取得一個Scheler的引用
SchelerFactorysf=newStdSchelerFactory();
Schelersched=sf.getScheler();
//jobs可以在scheled的sched.start()方法前被調用
//job1將每隔30分鍾執行一次
JobDetailjob=newJob(myJob.class).withIdentity("job1","group1").build();
CronTriggertrigger=newTrigger().withIdentity("trigger1","group1").withSchele(cronSchele("00/30***?")).build();
Dateft=sched.scheleJob(job,trigger);
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ssSSS");
System.out.pintln("aa");
//開始執行,start()方法被調用後,計時器就開始工作,計時調度中允許放入N個Job
sched.start();
try{
//主線程等待一分鍾
Thread.sleep(60L*1000L);
}catch(Exceptione){}
//關閉定時調度,定時器不再工作
sched.shutdown(true);
}
publicstaticvoidmain(String[]args)throwsException{
Testtest=newTest();
test.go();
}
}
G. 如何監控java quartz定時器中的所有定時任務
你好:
監控用
org.quartz.Scheler
//TriggerState:-1表示不存在,0表示正在運行,1表示暫停中
int
triggerState
=
scheler.getTriggerState(trigger.getTriggerName(),
trigger.getTriggerGroup());
//啟動
scheler.scheleJob
//暫停
scheler.pauseTrigger
//移除
scheler.unscheleJob
具體的查一下API吧
H. 如何監控java quartz定時器中的所有定時任務
你好:
監控用
123456789org.quartz.Scheler//TriggerState:-1表示不存在,0表示正在運行,1表示暫停中int triggerState = scheler.getTriggerState(trigger.getTriggerName(), trigger.getTriggerGroup());//啟動scheler.scheleJob//暫停scheler.pauseTrigger//移除scheler.unscheleJob
具體的查一下API吧