spring 任务调度,定时器没有正确执行

时间:2021-05-18 23:25:50
  <!-- Timer Schedule config start -->
    <!-- defime a business timer object-->
    <bean id="EAITimerBean" class="com.esoon.km.action.FormlAdmAction">
<property name="formlAdmServ">
<ref bean="formlAdmServ" />
</property>
<property name="adminApproveServ">
<ref bean="adminApproveServ" />
</property>


    </bean>
    <!--defime which method of class to be called in timer schedule -->
    <bean id="EAITimerMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="EAITimerBean" />
        <property name="targetMethod" value="doTimerSchedule" />
        <property name="concurrent" value="false" /> <!--将并发设置为false-->
    </bean>
    <!-- 设置定时器 -->
    <bean id="eaiTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="EAITimerMethod" />
        <!--每两分钟触发-->
      <!--  <property name="cronExpression" value="0 1/2 * * * ?"></property>-->
       <property name="cronExpression" value="0 0 0 9 * ?"></property> 
    </bean>

    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <!--EAI调度器,list下可加入其他的调度器--> 
                <ref bean="eaiTrigger"/>
            </list>
        </property>
    </bean>



当把定时器设置为每两分钟时会调用doTimerSchedule()方法,设为每天9点不调用doTimerSchedule方法,各位牛人指点指点

7 个解决方案

#1


要学习的,关注中……

#2


<!--每两分钟触发-->
  <!-- <property name="cronExpression" value="0 1/2 * * * ?"></property>-->
  <property name="cronExpression" value="0 0 0 9 * ?"></property> 


这配置没啥问题吧,为什么会出现这样的情况呢???
等待。。。。。。。。。。。。

#3


 坐等回答  观摩中……

#4


spring 任务调度,定时器没有正确执行
没有执行的时候就在类中增加一些log4j的日志信息,分步骤确定是否执行,还是执行了在什么位置返回了等等。

#5


服务启动后根本就没有进入类中调用方法

#6


<!-- 创建调度任务 使用已有的service类方法,不需要单独编写调度类QuartzJob -->
<bean id="refreshResourceJob1"
class="net.easipay.pepp.common.spring.quartz.BeanInvokingJobDetailFactoryBean">
<property name="targetBean" value="paymentStatCustomsService" />
<property name="targetMethod">
<value>run</value>
</property>
<property name="shouldRecover" value="true" />
</bean>




<!-- 配置调度任务,复杂定制模式,月份中的日期和星期不能同时设置   -->
<!--
1.秒 0-59 2.分钟 0-59 3.小时 0-23 4.月份中的日期 1-31 5.月份 1-12或者Jan Feb Mar Apr
May Jun Jul Aug Sept Oct Nov Dec 6.星期中的日期
1-7或者MON,TUE,WED,THU,FRI,SAT,SUN. 7.年
-->
<bean id="cronSendTrigger1" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="refreshResourceJob1" />
</property>
<property name="cronExpression">
<value>00 10 01 * * ? *</value>
</property>
</bean>

<!-- 启动调度 -->
<bean id="jobScheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronSendTrigger1" />
<ref bean="cronSendTrigger2" />
<ref bean="cronSendTrigger3" />
<ref bean="cronSendTrigger4" />
</list>
</property>
<property name="configLocation" value="classpath:quartz.properties" />
</bean>

#7


 <property name="cronExpression" value="0 0 9 * * ?"></property>  

#1


要学习的,关注中……

#2


<!--每两分钟触发-->
  <!-- <property name="cronExpression" value="0 1/2 * * * ?"></property>-->
  <property name="cronExpression" value="0 0 0 9 * ?"></property> 


这配置没啥问题吧,为什么会出现这样的情况呢???
等待。。。。。。。。。。。。

#3


 坐等回答  观摩中……

#4


spring 任务调度,定时器没有正确执行
没有执行的时候就在类中增加一些log4j的日志信息,分步骤确定是否执行,还是执行了在什么位置返回了等等。

#5


服务启动后根本就没有进入类中调用方法

#6


<!-- 创建调度任务 使用已有的service类方法,不需要单独编写调度类QuartzJob -->
<bean id="refreshResourceJob1"
class="net.easipay.pepp.common.spring.quartz.BeanInvokingJobDetailFactoryBean">
<property name="targetBean" value="paymentStatCustomsService" />
<property name="targetMethod">
<value>run</value>
</property>
<property name="shouldRecover" value="true" />
</bean>




<!-- 配置调度任务,复杂定制模式,月份中的日期和星期不能同时设置   -->
<!--
1.秒 0-59 2.分钟 0-59 3.小时 0-23 4.月份中的日期 1-31 5.月份 1-12或者Jan Feb Mar Apr
May Jun Jul Aug Sept Oct Nov Dec 6.星期中的日期
1-7或者MON,TUE,WED,THU,FRI,SAT,SUN. 7.年
-->
<bean id="cronSendTrigger1" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="refreshResourceJob1" />
</property>
<property name="cronExpression">
<value>00 10 01 * * ? *</value>
</property>
</bean>

<!-- 启动调度 -->
<bean id="jobScheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronSendTrigger1" />
<ref bean="cronSendTrigger2" />
<ref bean="cronSendTrigger3" />
<ref bean="cronSendTrigger4" />
</list>
</property>
<property name="configLocation" value="classpath:quartz.properties" />
</bean>

#7


 <property name="cronExpression" value="0 0 9 * * ?"></property>