最近因项目需要使用了quartz做任务调度,现将quartz部署过程记录如下:
1.下载quartz包,解压后,如下图:
1)将quartz-2.1.7.jar包添加到项目中。
2)找到examples\example10目录下的quartz.properties 、quartz_data.xml文件拷贝到项目源代码根目录下。
2.在web.xml中添加如下信息:
quartz:config-file quartz.properties quartz:shutdown-on-unload true quartz:wait-on-shutdown true quartz:start-on-load true org.quartz.ee.servlet.QuartzInitializerListener
3.修改quartz.properties文件:
#============================================================================# Configure Main Scheduler Properties#============================================================================org.quartz.scheduler.instanceName: LCGLSchedulerorg.quartz.scheduler.instanceId: AUTOorg.quartz.scheduler.skipUpdateCheck: true#============================================================================# Configure ThreadPool#============================================================================org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPoolorg.quartz.threadPool.threadCount: 3org.quartz.threadPool.threadPriority: 5#============================================================================# Configure JobStore#============================================================================org.quartz.jobStore.misfireThreshold: 60000org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore#org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX#org.quartz.jobStore.driverDelegateClass: org.quartz.impl.jdbcjobstore.oracle.OracleDelegate#org.quartz.jobStore.useProperties: false#org.quartz.jobStore.dataSource: myDS#org.quartz.jobStore.tablePrefix: QRTZ_#org.quartz.jobStore.isClustered: false#============================================================================# Configure Datasources#============================================================================org.quartz.dataSource.myDS.driver: oracle.jdbc.driver.OracleDriverorg.quartz.dataSource.myDS.URL: jdbc:oracle:thin:@10.28.19.120:1521:orclorg.quartz.dataSource.myDS.user: lcglorg.quartz.dataSource.myDS.password: lcglorg.quartz.dataSource.myDS.maxConnections: 5#============================================================================# Configure Plugins#============================================================================org.quartz.plugin.triggHistory.class: org.quartz.plugins.history.LoggingJobHistoryPluginorg.quartz.plugin.jobInitializer.class: org.quartz.plugins.xml.XMLSchedulingDataProcessorPluginorg.quartz.plugin.jobInitializer.fileNames: quartz_data.xmlorg.quartz.plugin.jobInitializer.failOnFileNotFound: trueorg.quartz.plugin.jobInitializer.scanInterval: 120org.quartz.plugin.jobInitializer.wrapInUserTransaction: false
4.开发job类。可参考上述下载包中的例子,本处使用的是Contrigger 类型的trigger。
5.在quartz_data.xml中配置调度信息:
* * true false SMSWarnJob1 Job-Group1 com.xx.xx.xx.job.xxxxJob SMSWarnCronTrigger1 Trigger-Group1 SMSWarnJob1 Job-Group1 MISFIRE_INSTRUCTION_DO_NOTHING 0 16 11 ? * * SMSWarnCronTrigger2 Trigger-Group1 SMSWarnJob1 Job-Group1 MISFIRE_INSTRUCTION_DO_NOTHING 0 15 11 ? * *
6.启动tomcat服务器测试任务。