小石头
Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.
posts - 91,comments - 22,trackbacks - 0

 

 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
				extended by
				org.quartz.Trigger
				extended by
				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 小石头 阅读(550) 评论(0)  编辑  收藏 所属分类: 每天学一点

只有注册用户登录后才能发表评论。


网站导航: