1

Spring で Cron サービスを作成する必要がありますが、jdbc ストアでそれを行う方法について十分な情報が見つかりません。Quartz に Datasource への現在の接続を使用してもらいたいのですが、私のデータベースは PostgreSql です。サーバーがダウンしていてもタスクを実行する必要があるため、使用する jdbc ストアを作成する必要があります。

4

1 に答える 1

1

このようなものを試すことができます

<bean id="scheduler-JDBC" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" abstract="true">
    <property name="dataSource" ref="myDataSource" />
    <property name="transactionManager" ref="transactionManager" />
    <property name="jobFactory">
        <bean class="org.springframework.scheduling.quartz.SpringBeanJobFactory" />
    </property>
    <property name="overwriteExistingJobs" value="true" />
    <property name="quartzProperties">
        <props>
            <prop key="org.quartz.jobStore.isClustered">false</prop>
            <prop key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.StdJDBCDelegate</prop>
            <prop key="org.quartz.scheduler.instanceId">AUTO</prop>
            <prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
        </props>
    </property>
</bean>

<bean id="cronScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" parent="scheduler-JDBC">
    <property name="startupDelay" value="10" />
    <property name="autoStartup" value="true" />
    <property name="applicationContextSchedulerContextKey" value="applicationContext"/>
    <property name="triggers">
        <list>
            <ref bean="myTrigger" />                
        </list>
    </property>
</bean>

http://quartz-scheduler.org/から Quartz ディストリビューションをダウンロードすると、必要なテーブルのデータベース スクリプトが docs/dbTables にあります。

于 2013-04-24T13:25:17.963 に答える