0

起初,我的应用程序将浏览器中的 cron 详细信息保存到数据库中,稍后调度应该通过获取详细信息来进行。我们如何在应用程序上下文中动态设置 cron 表达式。当我启动应用程序时,调度程序启动并运行作业,实际上我不希望这种情况发生。我希望在用户从浏览器获取值并基于它应该触发的数据库值之后运行作业

应用程序上下文.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>
4

1 回答 1

1

您可以将 CronSchedulerBean 的“autoStart”属性设置为 false,这意味着应用程序启动后将不会执行 Cron 作业。准备好适当的参数后,就可以启用 cron 作业。

看到这个api:http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/scheduling/quartz/SchedulerFactoryBean.html#setAutoStartup(boolean)

于 2013-05-30T06:05:41.453 回答