<!--复杂的触发器 -->
<bean id="complexPrintInfoTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="tsTasKdoWeb"/>
</property>
<property name="cronExpression">
<value>*/5 * * * * ?</value>
</property>
</bean>
<!-- spring触发工厂 -->
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="complexPrintInfoTrigger"/>
</list>
</property>
</bean>上面代码是我的applicationContext.xml中的一段,当我的程序一跑起来便会自动走触发器中的配置,将value传到后台并设置每五秒执行一次。现在我想关闭这个动作,所以我想到的是先获得spring触发工厂的bean,网上查到是 Schedule schedule = context.getBean(beanName);在执行schedule.shutDown();就可以实现。 我想问各位大神,首先我解决这个问题的出发点对不对,其次如果对我却怎么也获得不到这个bean的配置,谁能帮帮我。
<bean id="complexPrintInfoTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="tsTasKdoWeb"/>
</property>
<property name="cronExpression">
<value>*/5 * * * * ?</value>
</property>
</bean>
<!-- spring触发工厂 -->
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="complexPrintInfoTrigger"/>
</list>
</property>
</bean>上面代码是我的applicationContext.xml中的一段,当我的程序一跑起来便会自动走触发器中的配置,将value传到后台并设置每五秒执行一次。现在我想关闭这个动作,所以我想到的是先获得spring触发工厂的bean,网上查到是 Schedule schedule = context.getBean(beanName);在执行schedule.shutDown();就可以实现。 我想问各位大神,首先我解决这个问题的出发点对不对,其次如果对我却怎么也获得不到这个bean的配置,谁能帮帮我。
<bean id="helloTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="sayHelloJob"/>
</property>
<property name="startDelay">
<value>1000</value>
</property>
<property name="repeatInterval">
<value>3000</value>
</property>
</bean>
timer.cancel();方法可以取消任务啊
还有没5秒跑定时任务,这个太快了吧。。<bean id="timeGetPackageState2Infomation" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="tmsRouteSearchManagerAction"/>
</property>
<property name="targetMethod">
<value>getPackageInfomation</value>
</property>
</bean>
<bean id="timeGetPackageState2InfomationTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="timeGetPackageState2Infomation"/>
</property>
<property name="cronExpression">
<value>0 */1 * * * ?</value> <!-- 每5分钟触发一次 -->
<!-- <value>0 0 */1 * * ?</value> 每1小时触发一次 -->
</property>
</bean>
<!-- TMS转运 1小时一次 end-->
<bean autowire = "no" class = "org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="timeGetPackageState2InfomationTrigger"/>
</list>
</property>
</bean>