Spring+Quartz 定时任务入门

来源:互联网 发布:炒股软件二次开发 编辑:程序博客网 时间:2024/06/06 01:50
主要有三个步骤:1配置Job,配置触发器,配置调度器
<!-- 配置一个Job--><bean name="simpleJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">    <property name="jobClass" value="com.my.ssm.web.task.RegisterTask" />    <property name="jobDataAsMap">        <map>            <entry key="timeout" value="0" />        </map>    </property>    <property name="Durability" value="true"/></bean><!-- Run the job every 2 seconds with initial delay of 1 second<bean id="simpleTrigger"  class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">    <property name="jobDetail" ref="simpleJobDetail" />    <property name="startDelay" value="60000" />    <property name="repeatInterval" value="2000" /></bean>--><!-- CronTrigger --><bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">    <property name="jobDetail" ref="simpleJobDetail"></property>    <property name="cronExpression" value="0 39 10 * * ?"></property></bean><!-- Scheduler factory bean to glue together jobDetails and triggers to Configure Quartz Scheduler --><!-- 调度器工厂Bean 用于黏合任务跟触发器 Quartz调度器配置--><bean  class="org.springframework.scheduling.quartz.SchedulerFactoryBean">    <property name="jobDetails">        <list>            <ref bean="simpleJobDetail" />            <!--<ref bean="complexJobDetail" />-->        </list>    </property>    <property name="triggers">        <list>            <ref bean="cronTrigger" />            <!-- <ref bean="cronTrigger" />-->         </list>     </property> </bean>
public class RegisterTask extends QuartzJobBean{    private final Logger logger = Logger.getLogger(RegisterTask.class);    private static int executeTimes = 0;    @Autowired    IndexService indexService;    @Override    protected void executeInternal(org.quartz.JobExecutionContext jobExecutionContext) throws JobExecutionException {        logger.info("Now execting the job task with times = "+executeTimes);        executeTimes++;    }}