quartz定时任务

来源:互联网 发布:骑马与砍杀哈劳斯数据 编辑:程序博客网 时间:2024/06/04 18:40

最近在开发过程中遇到这样一个需求,用户在前台页面选择机构,业务后,后台执行将业务数据打包成zip文件,但是用户的操作的时间是不确定的。quartz和timertask都是根据某一确切时间或一段时间来操作的。陷入了死循环。后来发帖和大家讨论可以这么实现:用户进行操作后,将前台数据存入一张表中,用quartz定时的去查这张表,如果这张表中有数据说明用户进行了操作,就可以进行我们的操作了。之前也没有学习过quartz,现在将一些配置帖出来,如果有错误还请大家指正。

web.xml配置如下

  <servlet>    <servlet-name>QuartzInitializer</servlet-name>   <servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>    <init-param>     <param-name>shutdown-on-unload</param-name>     <param-value>true</param-value>   </init-param>   <init-param>    <param-name>config-file</param-name>    <param-value>quartz.properties</param-value>    </init-param>   <load-on-startup>1</load-on-startup> </servlet>


quartz.properties配置如下

#============================================================================# Configure Main Scheduler Properties  #============================================================================org.quartz.scheduler.instanceName = QuartzScheduler#============================================================================# Configure ThreadPool  #============================================================================org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPoolorg.quartz.threadPool.threadCount = 1000#org.quartz.threadPool.threadPriority = 5#============================================================================# Configure Plugins #============================================================================org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPluginorg.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPluginorg.quartz.plugin.jobInitializer.fileName = quartz_jobs.xml#org.quartz.plugin.jobInitializer.overWriteExistingJobs = true#org.quartz.plugin.jobInitializer.failOnFileNotFound = true


quartz_job.xml配置如下

<?xml version="1.0" encoding="UTF-8"?>  <quartz>      <job>          <job-detail>              <name>PortalInfoJob</name>              <group>PortalInfo</group>              <job-class>com.sinosoft.application.platform.QuartzJob</job-class>          </job-detail>          <trigger>              <cron>                  <name>PORTALINFO</name>                  <job-name>PortalInfoJob</job-name>                  <job-group>PortalInfo</job-group>                  <cron-expression>0 0 1 * * ?</cron-expression>              </cron>          </trigger>      </job>  </quartz> 


后台代码如下:

public class QuartzJob implements Job {public void execute(JobExecutionContext arg0) throws JobExecutionException {//实现代码}}


0 0
原创粉丝点击