?
?1
/**?*/
/**
?2
?*?<p>文件名稱:?HelloJob.java?</p>
?3
?*?<p>文件描述:?quartz?之?helloWorld</p>
?4
?*?<p>版權(quán)所有:?版權(quán)所有(C)2001-2004</p>
?5
?*?<p>公????司:?</p>
?6
?*?<p>內(nèi)容摘要:?無</p>
?7
?*?<p>其他說明:?無</p>
?8
?*?<p>創(chuàng)建日期:2007-1-11</p>
?9
?*?<p>完成日期:2007-1-11</p>
10
?*?<p>修改記錄1:?//?修改歷史記錄,包括修改日期、修改者及修改內(nèi)容</p>
11
?*?<p>資源?quartz:??
http://www.opensymphony.com/quartz
12
?*?<pre>
13
?*????修改日期:
14
?*????版?本?號:
15
?*????修?改?人:
16
?*????修改內(nèi)容:
17
?*?</pre>
18
?*?<p>修改記錄2:…</p>
19
?*?
@version
?1.0
20
?*?
@author
?yangwei
21
?
*/
22
23
import
?java.text.ParseException;
24
25
import
?org.apache.log4j.PropertyConfigurator;
26
import
?org.quartz.
*
;
27
??
public
?
class
?HelloJob?
implements
?Job?
{
28
????
public
?HelloJob()?
{
29
????}
30
????
public
?
void
?execute(JobExecutionContext?context)
31
??????
throws
?JobExecutionException
32
????
{
33
?????
//
在這里寫業(yè)務(wù)處理代碼。什么,你不知道?那你別問我!!:-<
34
????????System.out.println(
"
Hello?World!!
"
);
35
????}
36
????
37
????
public
?
static
?
void
?main(String[]?args)?
throws
?SchedulerException,?ParseException
38
????
{
39
????????PropertyConfigurator.configure(
"
./log4.properties
"
);?
//
加載log4的配置文件
40
????????SchedulerFactory?schedFact?
=
?
new
?org.quartz.impl.StdSchedulerFactory();
41
????????Scheduler?sched?
=
?schedFact.getScheduler();?
//
獲取調(diào)度管理器
42
????????JobDetail?jobDetail?
=
?
new
?JobDetail(
"
myJob
"
,?sched.DEFAULT_GROUP,?HelloJob.
class
);
//
創(chuàng)建工作
43
????????CronTrigger?trigger?
=
?
new
?CronTrigger(
"
myTrigger
"
,?
"
test
"
,?
"
0/10?*?*?*?*??
"
);
//
創(chuàng)建觸發(fā)器,“0/10?*?*?*?*??”表示每10秒鐘就執(zhí)行一次,有關(guān)表達式的說明請參閱quartz的api文檔。
44
????????sched.scheduleJob(jobDetail,?trigger);?
//
添加到調(diào)度管理器中
45
????????sched.start();
//
啟動調(diào)度管理器
46
????}
47
??}
48
49
#log4j.properties
?
log4j.rootLogger=debug, A1 , B1
#RollingFileAppender
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.File=log.txt
log4j.appender.A1.MaxFileSize=100KB
log4j.appender.A1.MaxBackupIndex=1
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
#backup need:debug, A1 ,R
#log4j.appender.R=org.apache.log4j.RollingFileAppender
#log4j.appender.R.File=backup.log
#log4j.appender.R.MaxFileSize=100KB
#log4j.appender.R.MaxBackupIndex=1
#log4j.appender.R.layout=org.apache.log4j.TTCCLayout
?
#ConsoleAppender
log4j.appender.B1=org.apache.log4j.ConsoleAppender
log4j.appender.B1.layout=org.apache.log4j.PatternLayout
log4j.appender.B1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
log4j.appender.B1.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
CronTrigger? 的用法 :
org.quartz
Class CronTrigger
java.lang.Object
org.quartz.Trigger
org.quartz.CronTrigger
-
All Implemented Interfaces:
-
Cloneable, Comparable, Serializable
- public class CronTrigger
- extends Trigger
A concrete Trigger
that is used to fire a JobDetail
at given moments in time, defined with Unix 'cron-like' definitions.
For those unfamiliar with "cron", this means being able to create a firing schedule such as: "At 8:00am every Monday through Friday" or "At 1:30am every last Friday of the month".
The format of a "Cron-Expression" string is documented on the CronExpression
class.
Here are some full examples:
Expression |
? |
Meaning |
"0 0 12 * * ?"
|
? |
Fire at 12pm (noon) every day
|
"0 15 10 ? * *"
|
? |
Fire at 10:15am every day
|
"0 15 10 * * ?"
|
? |
Fire at 10:15am every day
|
"0 15 10 * * ? *"
|
? |
Fire at 10:15am every day
|
"0 15 10 * * ? 2005"
|
? |
Fire at 10:15am every day during the year 2005
|
"0 * 14 * * ?"
|
? |
Fire every minute starting at 2pm and ending at 2:59pm, every day
|
"0 0/5 14 * * ?"
|
? |
Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day
|
"0 0/5 14,18 * * ?"
|
? |
Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day
|
"0 0-5 14 * * ?"
|
? |
Fire every minute starting at 2pm and ending at 2:05pm, every day
|
"0 10,44 14 ? 3 WED"
|
? |
Fire at 2:10pm and at 2:44pm every Wednesday in the month of March.
|
"0 15 10 ? * MON-FRI"
|
? |
Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday
|
"0 15 10 15 * ?"
|
? |
Fire at 10:15am on the 15th day of every month
|
"0 15 10 L * ?"
|
? |
Fire at 10:15am on the last day of every month
|
"0 15 10 ? * 6L"
|
? |
Fire at 10:15am on the last Friday of every month
|
"0 15 10 ? * 6L"
|
? |
Fire at 10:15am on the last Friday of every month
|
"0 15 10 ? * 6L 2002-2005"
|
? |
Fire at 10:15am on every last friday of every month during the years 2002, 2003, 2004 and 2005
|
"0 15 10 ? * 6#3"
|
? |
Fire at 10:15am on the third Friday of every month
|
Pay attention to the effects of '?' and '*' in the day-of-week and day-of-month fields!
NOTES:
- Support for specifying both a day-of-week and a day-of-month value is not complete (you'll need to use the '?' character in on of these fields).
- Be careful when setting fire times between mid-night and 1:00 AM - "daylight savings" can cause a skip or a repeat depending on whether the time moves back or jumps forward.
-
Author:
- Sharada Jambula, James House, Contributions from Mads Henderson
posted on 2007-01-11 09:47
小石頭 閱讀(565)
評論(0) 編輯 收藏 所屬分類:
每天學一點