spring定时任务_基于配置

定时任务和触发器
portal基于scheduling.quartz

概括起来的步骤:
1,先注册一个要执行定时任务的bean
2,配置任务详情工厂:配置一个quartz.MethodInvokingJobDetailFactoryBean对应的Bean,里面设置要调用的bean以及对应的方法
3,配置一个触发器(即:什么时候调用定时任务):quartz.SimpleTriggerBean
4,配置任务工厂

@service  是有用的  是有用的相当于 xml配置中得bean  id = service  
也可以不指定 
不指定相当于 
bean id =  com. service.service 
就是这个类的全限定名
所以猜测是正确的

@Service("submitReview")
用这个注解标记了一个类
SubmitReviewTask,所以就能自动找到<property name="targetObject" ref="submitReview" />对应的java类
<!-- 送审任务 -->
<!-- quartz任务详情工厂 -->
    <bean id="submitReviewAuditTask"
        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <!--
        2
        要执行的定时任务的类对应的bean名称;
        submitReview是java类构建的bean
        @Service("submitReview")
用这个注解标记了一个类
SubmitReviewTask,所以就能自动找到<property name="targetObject" ref="submitReview" />对应的java类
        -->
        <property name="targetObject" ref="submitReview" />
        <!-- 要执行的方法名称 -->
        <property name="targetMethod" value="audit" />
    </bean>

3

    <!--配置定时规则触发器,配置定时触发规则有两种不同的实现类,一种是org.springframework.scheduling.quartz.SimpleTriggerBean,另外一种是org.springframework.scheduling.quartz.CronTriggerBean。区别在于前者只能做简单的定时,比如每隔多久触发一次,而后者可以使用cron表达式来自定义定时的规则。这边我采用后者。配置了从周一到周日,每天的3点20触发。cron表达式的具体用法可自行百度。这边的jobDetail属性填写上一步配置的任务详情,即realOrderQuartzJobDetail。
    -->
<bean id="submitReviewAuditTaskTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
        <!-- 触发器触发的 执行定时任务的bean id -->
        <property name="jobDetail" ref="submitReviewAuditTask" />
        <!--延迟10s -->
        <property name="startDelay" value="10000" />
        <!--每10s启动一次 -->
        <property name="repeatInterval" value="10000" />
    </bean>

4.

    <!--.配置调度工厂,在调度工厂中,我们调度相应的触发器。这里就是调度上一步配置的submitReviewAuditTaskTrigger触发器<bean name="quartzScheduler"
    <bean name="quartzScheduler"
        class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <!-- 普通触发器 :触发器列表 -->
        <property name="triggers">
            <list>
                <ref bean="cacheInitTrigger" />
                <ref bean="submitReviewAuditTaskTrigger" />
                <ref bean="submitReviewQueryTaskTrigger" />
                <ref bean="sendSMSTaskTrigger" />
                <ref bean="signServiceUserTaskTrigger" />
                <ref bean="signServiceQueryTaskTrigger" />
                <ref bean="invoiceTaskTrigger" />
                <ref bean="sendEmailTaskTrigger" />
            </list>
        </property>
    </bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值