使用quartz schedular运行多个作业失败。请在下面的代码中告诉我需要进行哪些更正

时间:2018-04-16 14:32:44

标签: spring quartz-scheduler

            <prop key="org.quartz.scheduler.instanceId">AUTO</prop>
            <prop key="org.quartz.jobStore.misfireThreshold">60000</prop>
            <prop key="org.quartz.jobStore.class">org.quartz.impl.jdbcjobstore.JobStoreTX</prop>
            <prop key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
            </prop>
            <prop key="org.quartz.jobStore.tablePrefix">qrtz_</prop>
            <prop key="org.quartz.jobStore.isClustered">true</prop>
            <prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop>
            <prop key="org.quartz.threadPool.threadCount">5</prop>
            <prop key="org.quartz.threadPool.threadPriority">5</prop>
            <prop key="org.quartz.jobStore.useProperties">true</prop>
        </props>
    </property>
    <property name="jobFactory">
        <bean class="com.citi.recon.quartz.AutowiringSpringBeanJobFactory" />
    </property>
    <property name="jobDetails">
        <list>
            <ref bean="breakFileDownloadJob"/>

        </list>
    </property>
    <property name="triggers">
        <list>
            <ref bean="breakFileDownloadJobTrigger"/>
        </list>
    </property>

如果我在ref tag中再给一个作业,它的失败。首先,作业进入等待状态,然后状态变为table中的错误。没有日志也被捕获。

1 个答案:

答案 0 :(得分:0)

这是剩下的配置

<bean id="breakFileDownloadJob"
        class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
        <property name="jobClass"
            value="com.citi.recon.quartz.BreakFileXlsxDownloadJob" />
        <property name="durability" value="true" />
    </bean>

    <bean id="breakFileDownloadJobTrigger" class="com.citi.recon.quartz.PersistableCronTriggerFactoryBean">
        <property name="jobDetail" ref="breakFileDownloadJob" />
        <property name="cronExpression" value="0 0/15 * * * ?" />
    </bean>

<bean id="breakFileXlsxTwo"
        class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
        <property name="jobClass"
            value="com.citi.recon.quartz.BreakFileXlsxJobTwo" />
        <property name="durability" value="true" />
    </bean>

    <bean id="breakFileXlsxTwoTrigger" class="com.citi.recon.quartz.PersistableCronTriggerFactoryBean">
        <property name="jobDetail" ref="breakFileXlsxTwo" />
        <property name="cronExpression" value="0 0/15 * * * ?" />
    </bean>

    <!-- cluster quartz, will only run in one server -->
    <bean id="clusterquartzScheduler"
        class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="applicationContextSchedulerContextKey" value="applicationContext" />
        <property name="dataSource" ref="dataSource" />
        <property name="transactionManager" ref="txManager" />
        <property name="overwriteExistingJobs" value="true" />
        <property name="autoStartup" value="true" />
        <property name="quartzProperties">
            <props>
                <prop key="org.quartz.scheduler.instanceName">AMLReconQuartzScheduler</prop>

之后上面的代码。仍然调用多个作业失败。