首页 > 其他 > 详细

spring3.1的BeanFactory与Quartz1.8整合

时间:2014-02-11 16:55:20      阅读:390      评论:0      收藏:0      [点我收藏+]

spring的applicationContext.xml配置文件:

加入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<bean id="myJob" class="org.springframework.scheduling.quartz.JobDetailBean">
  <property name="jobClass">
   <value>com.job.Service</value>
  </property>
 </bean>
 <bean id="myCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail">
   <ref bean="myJob"/>
  </property>
  <property name="cronExpression">
   <value>0 0 1 * * ?</value>
  </property>
 </bean>
 <bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  <property name="jobFactory">
   <bean class="com.JobFactory"/>
  </property>
  <property name="triggers">
   <list>
   <ref bean="myCronTrigger"/>
   </list>
  </property>
 </bean>

 

quartz与spring的BeanFactory整合的类: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
 * 为定时器提供自动注入功能
 */
public class JobFactory extends SpringBeanJobFactory implements
        ApplicationContextAware {
 
    private ApplicationContext applicationContext;
 
    @Override
    public void setApplicationContext(ApplicationContext applicationContext)
            throws BeansException {
        this.applicationContext = applicationContext;
    }
 
    @Override
    protected Object createJobInstance(TriggerFiredBundle bundle)
            throws Exception {
        Object jobInstance = super.createJobInstance(bundle);
        applicationContext.getAutowireCapableBeanFactory().autowireBean(    jobInstance);
        return jobInstance;
    }
     
}

 

 定时任务类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class MyService extends QuartzJobBean {
 
    private static final Log log = LogFactory.getLog(MyService.class);
     
    @Resource
    private UserService userService;
     
    @Override
    protected void executeInternal(JobExecutionContext jobExecutionContext)
            throws JobExecutionException {
        log.info("执行定时任务");
        userService.freshUserAmount();
    }
     
}

 

Quartz中时间表达式的设置-----corn表达式 

时间格式: <!-- s m h d m w(?) y(?) -->,   分别对应: 秒>分>小时>日>月>周>年, 

spring3.1的BeanFactory与Quartz1.8整合

原文:http://www.cnblogs.com/zhaofeng555/p/3544070.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!