我的spring定时为<property name="cronExpression" value="* * 1 1 * ?" /> 每个月的1号1点执行,如果我将时间调到1月1号1点启动tomcat执行了,但是若我此时将时间调到2点就不执行,再将时间调到1点还是不执行  这是什么原因呢  怎么解决若将定时改为<property name="cronExpression" value="0 0 1 1 * ?" /> 也就是每个月的1号1点整执行,我将时间调到00:59:00启动tomcat等到了1点整还是不执行   怎么回事啊  求解决 
附上quartz配置
<bean id="businessReport" class="com.idkj.SystemManage.CreateFolder.CreateFolder"/> <bean id="reportTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">   <property name="targetObject" ref="businessReport" />   <property name="targetMethod" value="perform" />   <property name="concurrent" value="false" />  </bean>  <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">      <property name="jobDetail" ref="reportTask" />      <property name="cronExpression" value="0 0 1 1 * ?"/> </bean>    <bean autowire="no"  lazy-init="false" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  <!-- <property name="targetObject" ref="hibernateTemplate" />  -->    <property name="triggers">        <list>              <ref bean="cronTrigger" />         </list>      </property>      <property name="autoStartup" value="true"/></bean>

解决方案 »

  1.   

    不就是这么
    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">  
        <property name="jobDetail" ref="reportTask" />  
        <property name="cronExpression" value="* * * * 1 ?" /> 
    </bean> 
      

  2.   

    是的  我把电脑时间改了  改成1号了
    <property name="cronExpression" value="0/5 * * * * ?"/>  
    每5秒执行一次  执行了   但是改成具体时间就不对了 
      

  3.   

    这个问题解决了  是因为Myeclipse的时间与系统时间不匹配  设置一下就可以执行了
    但是新问题又来了:
    执行过一次之后 超过了这个时间就不执行(正确),我再将时间调回来  不执行了
    是不是quartz任务只能执行一次啊
    求解决
      

  4.   

    quartz是没有问题的,定时任务肯定执行一次就结束了,比如现在9点55,你就设置10点,10点到了设置10点02执行,这样就避免时间不统一的问题了。
      

  5.   

    大家以后写程序要注意Myeclipse时间啊  别像我弄了接近一个星期了 这才注意到时间不对
    大家要吸取我的教训