`
magicbear
  • 浏览: 28408 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在spring中使用quartz调度

阅读更多
在spring中使用quartz调度,没什么难度只要配置一下就ok了
quartz的调度线程是非后台线程,创建容器实例即启动线程调度,调度线程不会退出
	<!--用于设定启动时运行的Bean与方法,目标方法需要被自动执行--> 
	<bean id="quartzDetail"
        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 指定的目标bean -->
        <property name="targetObject"><ref bean="DoDistribute"/></property>
        <!-- 指定目标方法 -->
        <property name="targetMethod"><value>distributeReg</value></property>
    </bean>
    
    <!-- 配置简单触发器 -->
    <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
		<!-- 指定触发器关联的作业 -->
		<property name="jobDetail">
			<ref bean="quartzDetail"/>
		</property>
		<!-- 延迟时间100s -->
		<property name="startDelay">
			<value>100000</value>
		</property>
		<!-- 每200s启动一次 -->
		<property name="repeatInterval">
			<value>200000</value>
		</property>
    </bean>

	<!-- 配置Cron触发器 -->
	<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<!-- 指定触发器关联的作业 -->
		<property name="jobDetail">
			<ref bean="quartzDetail"/>
		</property>
		<!-- 指定Cron表达式 -->
		<property name="cronExpression">
			<value>0 28 13 * * ?</value>
		</property>
	</bean>   

	<!-- 建立实际调度 -->
	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<!-- 指定调度使用的触发器列表 -->
		<property name="triggers">
			<list>
				<!-- ref local="cronTrigger"/-->
				<!-- <ref local="simpleTrigger"/> -->
			</list>
		</property>
	</bean> 

在这里要提一下就是当用cronTrigger时,表达式一定要写正确了,我做的时候本以为很容易,出错后愣是找不到问题所在,一定要慎重啊~~
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics