Spring整合Quartz任务调度

Quartz任务调度
1.任务类

public class Job {
   
    private static Log log = LogFactory.getLog(Job.class);

    //调度任务方法
    public void doBiz() {
        //获取已注入的bean,如果new出来的是没有注入的
    WebApplicationContext context =
                      ContextLoader.getCurrentWebApplicationContext();
    TestService Testservice = (TestService) context.getBean("testService");
    List list = Testservice.getUsers();
    log.info("Quartz-----------------------------------"+list.size());
    }
}


2.spring的xml配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
		http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
		
	<bean id="testDao" class="com.tts.test.dao.impl.TestDaoImpl">
		<property name="dataSource" ref="dataSource" />
	</bean>
	
	<bean id="testService" class="com.tts.test.service.impl.TestServiceImpl">
	</bean>
	
	<!-- 线程执行器配置,用于任务注册 -->
	<bean id="executor"
		class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
		<property name="corePoolSize" value="10" />
		<property name="maxPoolSize" value="100" />
		<property name="queueCapacity" value="500" />
	</bean>
	
	<!-- 业务对象 -->
	<bean id="bizObject" class="com.tts.test.job.Job" />
	
	<!-- 调度业务 -->
	<bean id="jobDetail"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="bizObject" />
		<property name="targetMethod" value="doBiz" />
	</bean>
	
	<!-- 触发器 -->
	<bean id="trigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail" ref="jobDetail" />
		<property name="cronExpression" value="00 0/1 * * * ?" />
	</bean>

	<!-- 设置调度 -->
	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref bean="trigger" />
			</list>
		</property>
		<property name="taskExecutor" ref="executor" />
	</bean>
	
</beans>
3.结果:
2013-11-20 14:32:00,270 INFO - Quartz-----------------------------------4
2013-11-20 14:33:00,005 INFO - Quartz-----------------------------------4
2013-11-20 14:34:00,005 INFO - Quartz-----------------------------------4
2013-11-20 14:35:00,005 INFO - Quartz-----------------------------------4

  

猜你喜欢

转载自joeze.iteye.com/blog/1945199