Spring 定時執行任務配置

1,三種方式: quartz,Timer,Executor 詳情參考 : http://blog.csdn.net/52rainbow/article/details/4004206html

2,具體例子: java

http://www.blogjava.net/sundc/archive/2007/10/19/154355.htmlspring

http://beyondlovew.iteye.com/blog/436973spa

3,還有一點要說明,quartz能夠實現動態設置Cron表達式,也能夠設置手工觸發方式來控制scheduler..net

注意下面劃線部分,想要手工控制scheduler,能夠先獲取SchedulerFactoryBean,經過它,能夠控制調度,還能夠取得CronTriggerBean,進而動態設置cronExpression。code

<bean id="push2UcScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref local="push2UcTrigger"/>
			</list> 
		</property>
		<property name="autoStartup" value="false" /> 	
		<property name="schedulerName" value="push2UcScheduler" />
	</bean>
	<bean id="push2UcTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> 
        <property name="jobDetail"> 
            <ref bean="push2UcJob"/> 
        </property>  <property name="cronExpression"> <!--每1分鐘向UC推送一次 --> <value>0 0/1 * * * ?</value> </property>      </bean>
	
	<bean id="push2UcJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject">
			<ref bean="ucManagerAO"/>
		</property>
	    <property name="targetMethod">
			<value>addItemToUc</value>
		</property>
		<property name="concurrent" value="false" /> 
	</bean>
相關文章
相關標籤/搜索