我正在使用org.springframework.scheduling.quartz.CronTriggerBean
作爲觸發器作業。Cron表達式在應用程序sturtup上運行作業
你能提出cron表達式對應用程序啓動請觸發作業執行只有一次?
我正在使用org.springframework.scheduling.quartz.CronTriggerBean
作爲觸發器作業。Cron表達式在應用程序sturtup上運行作業
你能提出cron表達式對應用程序啓動請觸發作業執行只有一次?
我相信實際的答案是:不,你不能。 但是,如果使用Spring 3.1(本文是撰寫本文時的里程碑2),您可以執行的操作是創建profiles,可以在不同的環境中啓用它。因此,您可以根據您啓用的配置文件使用不同的bean和bean配置。
您可以使用SimpleTriggerBean
- 用cron表達式,你是不能達到這個
要在啓動時使用Spring Quartz調度程序只運行一次作業,您可以使用不帶cronExpression但startDelay
和repeatCount
的org.springframework.scheduling.quartz.SimpleTriggerBean
。將repeatCount
設置爲0
一次執行(有關更多選項,請參閱SimpleTrigger上的Quartz文檔)。
<bean id="doJobOnceOnStartupTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="myJobDetail" />
<property name="startDelay" value="5000" />
<property name="repeatCount" value="0" />
</bean>
<bean id="myJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="myBean" />
<property name="targetMethod" value="myMethod" />
</bean>
的更多信息,INT的 spring documentation: Chapter 22. Scheduling jobs using Quartz or Timer
嗯發現,爲什麼使用調度作業是否要被一次觸發? –
我有我的應用程序要部署到不同的環境。在開發環境中,我只想運行一次作業,並且想要相應地更改我的配置文件。 –