为啥 我配置的定时器,每晚执行一次,偶尔有时候晚上不执行?  <bean id="schedulerJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
             <property name="targetObject" ref="sa1606"/>
             <property name="targetMethod" value="time"/>
             <property name="concurrent" value="false"/>
      </bean>
     <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean" >
             <property name="jobDetail" ref="schedulerJobDetail"/>
             <property name="cronExpression" value='50 57 23 * * ? *'>
             </property>
     </bean>
      <bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
                 <property name="triggers"> <list> <ref local="cronTrigger"/> </list> </property>
      </bean>

解决方案 »

  1.   

    可能是死锁问题、或者时区问题:-Duser.timezone=GMT+08增加这个 、或者是上次定时任务执行时候出现异常等情况,你可以代码debug跟踪一下spring的quartz以前用时候也出现过类似问题(可能自己用的不太好),建议使用TimTask、Timer,或者自己写个定时器都是可以!
      

  2.   

    因为是concurrent 可能上个卡住了,一直等待完成。
      

  3.   

    可能有是你少一个quartz.properties的配置文件。<bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
      <property name="configLocation" value="classpath:quartz.properties" />
      <property name="triggers">
         <list>
           <ref local="cronTrigger"/> 
         </list> 
      </property>
    </bean>