在SPRING中添加定时任务时,需要完成以下几个步骤
第一,添加quartz.jar的jar包,确认当前版本是否与SPRING的冲突,如SPRING3.0的话,对quarts.jar的话最好就选择小于2.0的版本
第二,到applicationContext.xml的文件中添加以下的配置,确认xml中不存在default-lazy-init="true"这个设置。
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
       <property name="triggers"> 
           <list> 
              <ref bean="testTrigger"/> 
           </list> 
       </property> 
       <property name="autoStartup" value="true"/> 
 </bean>
 <bean id="testTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> 
       <property name="jobDetail" ref="testJobDetail"/> 
       <property name="cronExpression" value="0 */10 * * * ?"/><!-- 每隔1分钟触发一次 --> 
 </bean>
 <bean id="testJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  
        <property name="targetObject" ref="testJob"/> 
        <property name="targetMethod" value="execute"/> 
        <property name="concurrent" value="false"/>
 </bean>
 <bean id="testJob" class="com.hlct.framework.taskWork.GrhTJJob"/>
 之后启动即可。
 注意,在配置当中 Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'cronExpression' threw exception; nested exception is java.text.ParseException时,即表示cronExpression表达式有问题
如果java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class这个错,则表示spring和quarts的版本不一致。