1
/** */
/**
2
* <p>文件名称: HelloJob.java </p>
3
* <p>文件描述: quartz 之 helloWorld</p>
4
* <p>版权所有: 版权所有(C)2001-2004</p>
5
* <p>公 司: </p>
6
* <p>内容摘要: 无</p>
7
* <p>其他说明: 无</p>
8
* <p>创建日期:2007-1-11</p>
9
* <p>完成日期:2007-1-11</p>
10
* <p>修改记录1: // 修改历史记录,包括修改日期、修改者及修改内容</p>
11
* <p>资源 quartz:
http://www.opensymphony.com/quartz
12
* <pre>
13
* 修改日期:
14
* 版 本 号:
15
* 修 改 人:
16
* 修改内容:
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
//
在这里写业务处理代码。什么,你不知道?那你别问我!!:-<
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();
//
获取调度管理器
42
JobDetail jobDetail
=
new
JobDetail(
"
myJob
"
, sched.DEFAULT_GROUP, HelloJob.
class
);
//
创建工作
43
CronTrigger trigger
=
new
CronTrigger(
"
myTrigger
"
,
"
test
"
,
"
0/10 * * * * ?
"
);
//
创建触发器,“0/10 * * * * ?”表示每10秒钟就执行一次,有关表达式的说明请参阅quartz的api文档。
44
sched.scheduleJob(jobDetail, trigger);
//
添加到调度管理器中
45
sched.start();
//
启动调度管理器
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
小石头 阅读(554)
评论(0) 编辑 收藏 所属分类:
每天学一点