私はSpring 2.5とQuartz Scheduler 1.8.6をクラスタ構成で使用しています。このジョブは、2つのデータベースを同期します。私はそれが毎分を実行したいクラスタ化されたQuartz Schedulerが正しく起動しない?
cronExpression=0 * * * * ?
すなわち:にcronExpression
セットのプロパティで
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" id="quartzScheduler" lazy-init="false">
<property name="applicationContextSchedulerContextKey" value="applicationContext"/>
<property name="dataSource" ref="dataSource"/>
<property name="transactionManager" ref="transactionManager"/>
<property name="overwriteExistingJobs" value="true"/>
<property name="autoStartup" value="true"/>
<property name="triggers">
<list>
<bean class="org.springframework.scheduling.quartz.CronTriggerBean" id="someCronTrigger">
<property name="jobDetail" ref="myQuartzJobDetail"/>
<property name="cronExpression" value="${cronExpression}"/>
</bean>
</list>
</property>
<property name="quartzProperties">
<props>
<prop key="org.quartz.scheduler.instanceName">MyBatchScheduler</prop>
<prop key="org.quartz.scheduler.instanceId">AUTO</prop>
<prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop>
<prop key="org.quartz.threadPool.threadCount">1</prop>
<!-- Don't set thread priority for now -->
<prop key="org.quartz.jobStore.misfireThreshold">30000</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.useProperties">false</prop>
<prop key="org.quartz.jobStore.tablePrefix">QRTZ_</prop>
<prop key="org.quartz.jobStore.isClustered">true</prop>
<prop key="org.quartz.jobStore.clusterCheckinInterval">5000</prop>
</props>
</property>
</bean>
:私は、次の構成を有しています。私は全く同じ設定とこの仕事を実行している2台のマシンがあります。私は、彼らがする必要がありますように、これらの2つのアプリが毎分を発射していない理由のために途方に暮れています
Machine 1 Machine 2
2012-03-13 09:47:00,009 INFO Starting synchronization... 2012-03-13 09:46:00,041 INFO Starting synchronization...
2012-03-13 09:54:00,010 INFO Starting synchronization... 2012-03-13 09:51:00,041 INFO Starting synchronization...
2012-03-13 10:00:00,010 INFO Starting synchronization... 2012-03-13 09:57:00,042 INFO Starting synchronization...
2012-03-13 10:02:00,007 INFO Starting synchronization... 2012-03-13 09:59:00,042 INFO Starting synchronization...
:私はこの結果を参照してください。たとえば、上記の2つのログから、ジョブは9:48,9:49,9:50,9:52,9:53などで起動しません。
編集:私は以下のコメントで言ったように
、私の問題は、私は毎分トリガの一部を消費したを探していませんでした浮遊プロセスがあったということでした。私はその迷いのプロセスを殺し、それが必要なように働いた。
ご質問のとおり、正確にはい。ジョブは9:48、9:49、9:50、9:52、9:53などで起動しませんでした – daveslab
@daveslab:単一のサーバーで動作しますか?ログに失火があるのを見ますか? –
私のローカルマシン上で2つのインスタンスがあっても失火を観察します(確認のために再テストしました) – daveslab