定时任务的使用以及配置

在我们做java开发中,常常需要用到定时任务,就是在某个特定时间段执行你需要的功能,特别是在第三方支付中,在用户使用你的某些功能如:提现,转账等等,会用到T+1来给用户做交易,这里就需要定时任务。

T+1:T指的是今天,例如,你今天做了一笔交易,规定T+1到账,就是说明天会到账。当然,T+1,所代表的时间必须是工作日,礼拜天,国家规定法定节假日是不能当作T+1的时间。

想要做定时任务,首先需要配置文件,以及执行具体功能的class类。

在我的maven项目中,是将配置文件写在了application.xml 文件中。

(1)定义执行功能class类所在的位置:id代表其唯一值,class:路径

<bean id="queryWithdrawOrderJob" class="com.xxx.xxxx.xxxxxx.xxx.WithdrawOrderJob"></bean>

(2)第二步的配置 property 中name的值不可改变

<bean id="orderResultTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">//引用包
<property name="targetObject" ref="queryWithdrawOrderJob"/>//表示引用上一步定义好的功能类class
<property name="targetMethod" value="getResult"/>//表示具体执行的是哪个方法
<property name="concurrent" value="false" />//表示是否同意多线程,false为不同意
</bean>

(3)第三配置   property 中name的值不可改变      来配置你的定时任务在什么时候运行

<bean id="orderResultTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> //引用包
<property name="jobDetail" ref="orderResultTask" /> //对应上一步配置的id号
<property name="cronExpression">  //配置时间
   <value>0 30 10 ? * *</value>  //代表每天早上十点半,具体怎么配置可以搜索定时任务的时间配置   秒 分 时 日 月 年 
</property>
</bean>

(4)第四步配置  trigger 触发这个定时任务

扫描二维码关注公众号,回复: 4487389 查看本文章

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



   最后,执行定时任务时,会进入到上文的WithdrawOrderJob文件中执行,基于java,首先会运行main方法,把你需要执行的代码放到main方法中就可以。

猜你喜欢

转载自blog.csdn.net/gongjds/article/details/79195117