首先我的应用程序将cron详细信息从浏览器保存到数据库中,稍后调度应该通过获取详细信息来获取。我们如何在applicationcontext中动态设置cron表达式。 当我启动应用程序时,调度程序启动并运行该作业实际上我不希望这种情况发生。我希望在用户从浏览器获取值后,根据应触发的数据库值
运行作业的applicationContext.xml
<bean id="JobA" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.JobCSVfile" />
<property name="jobDataAsMap">
<map>
<entry key="timeout" value="5" />
</map>
</property>
</bean>
<bean id="cronTriggerJobA" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="JobA" />
<property name="cronExpression" value="0/5 * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails"> <list> <ref bean="JobA" /> </list> </property>
<property <list>
<ref bean="cronTriggerJobA" />
</list>
</property>
</bean>
答案 0 :(得分:1)
您可以将CronSchedulerBean的属性“autoStart”设置为false,这意味着应用程序启动后不会执行Cron作业。 一旦准备好了适当的参数,就可以启用cron job。