关于学习SpringMvc整合QuartZ定时管理任务的初步整理

以前一直用的是spring中的@Scheduled标签来做定时任务的管理,这样做的特别简单,但是无法灵活的运用在项目维护上,所以想到能不能用其他技术来实现动态管理定时任务的功能,搜索了一下资料,大部分都是关于quartz的设计实现,于是开始学习关于quartz的相关知识。

首先是quartz的基础运用部分,很简单,导几个jar包,然后spring配置文件中配置一下就可以了。(注意quartz的版本,不同的quartz版本差距还是蛮大的)

maven引入jar包:

	<dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.3</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support -->
	<dependency>
	    <groupId>org.springframework</groupId>
	    <artifactId>spring-context-support</artifactId>
	    <version>4.2.6.RELEASE</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz-jobs -->
	<dependency>
	    <groupId>org.quartz-scheduler</groupId>
	    <artifactId>quartz-jobs</artifactId>
	    <version>2.2.3</version>
	</dependency>


 

Spring配置信息:

定时执行的类以及方法:

	<bean id="SpringTask" class="com.zkzy.task.SpringTask"/>
	<bean id="task1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  
	    <property name="targetObject">  
	        <ref bean="SpringTask"/>  
	    </property>  
	    <property name="targetMethod">  <!--要执行的方法名称-->  
	        <value>method1</value>
	    </property>  
	</bean>

调度触发器:(cronExpression中的值是自己定义存储在properties文件中的,实际上是一个cronExperssion表达式,可以自行百度具体含义)

	<bean id="CronTriggerBean_1" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">  
	    <property name="jobDetail" ref="task1"></property>  
	    <property name="cronExpression" value="#{configProperties['veStateflush']}"></property>
	</bean>
调度工厂 

	<bean id="SpringJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  
	    <property name="triggers">  
	        <list>  
	            <ref bean="CronTriggerBean_1"/> 
	        </list>  
	    </property>
	</bean>

这样应该就可以顺利执行了(后续做过持久化处理,原来的代码应该是这样的,可以参考看看);

上面就是quartz的初步实现了,我初步这样写的原因是想将spring定时任务的间隔可以放到配置文件中,这样就不用每次改动都要重新编译了,但是依旧无法满足后续更灵活的需求,因为每次改动都需要重新启动服务器,后续将继续进行quartz的持久化相关处理。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值