我的世界我的梦

上善若水的程序人生

《pro Spring》学习笔记之使用Spring配置Quartz

Spring可以用IOC的方式配置Quartz,就如同配置TimerTask一样方便

job:

 

package ch14.SpringAndQuartz;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class QuartzJob implements Job {

    
public void execute(JobExecutionContext context) throws JobExecutionException {
        System.out.println(context.getFireTime());
        System.out.println(
"this is a message");
        
    }

 
}

 配置文件:

 

<?xml version="1.0" encoding="UTF-8"?>
<beans
    
xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation
="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<bean id="job" class="org.springframework.scheduling.quartz.JobDetailBean">
   
<property name="jobClass"><!-- 此处需要一个string类型的类名 -->
       
<value>ch14.SpringAndQuartz.QuartzJob</value>
   
</property>
   
<!-- 如果存在JobDataMap,则进行如下配置 
   <property name="jobDataAsMap">
     <map>
       <entry key="message">
         <value>this is a message</value>
       </entry>
     </map>
   </property>
   
-->
   
</bean>

<bean id="trigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  
<property name="jobDetail">
    
<ref bean="job"/>
  
</property>
  
<property  name="cronExpression">
   
<value>2/5 * 23 ? 9 3</value>
  
</property>
</bean>

<bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  
<property name="triggers">
    
<ref bean="trigger"/>
  
</property>
</bean>

<bean id="jobClass" class="ch14.SpringAndQuartz.QuartzJob"></bean>
</beans>

 

 

package ch14.SpringAndQuartz;

import java.util.Date;

import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestQuartz {

    
public static void main(String[] args) throws Exception {
        
        ApplicationContext context
=new ClassPathXmlApplicationContext("ch14/SpringAndQuartz/applicationContext.xml");
        
        System.in.read();
    }


}

 

运行结果

Tue Sep 11 23:19:02 CST 2007
this is a message
Tue Sep 11 23:19:07 CST 2007
this is a message

阅读更多
个人分类: 经验技巧之Spring
上一篇《pro Spring》学习笔记之Quartz的cronTrigger使用
下一篇Apache James邮件服务器介绍及配置发送外网邮件
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭