quartz定时任务

最近在开发过程中遇到这样一个需求,用户在前台页面选择机构,业务后,后台执行将业务数据打包成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.SimpleThreadPool
org.quartz.threadPool.threadCount = 1000
#org.quartz.threadPool.threadPriority = 5
#============================================================================
# Configure Plugins 
#============================================================================
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.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 {
		//实现代码
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值