2016-09-15 9 views
0

月の第1月曜日と第3月曜日にジョブを実行したいと思います。私は、次の式を設定しようとしているCronTriggerBeanを使用していますが、私は動作しません:Quartz Schedulerは月の第1月曜日と第3月曜日に実行されます

<property name="cronExpression" value="0 0 12 ? * MON#1,3 *" /> 

または

<property name="cronExpression" value="0 0 12 ? * MON#1,MON#3 *" /> 

は、最初の式は最初の月曜日にジョブを実行します2番目の人は3番目の月曜日に仕事をします。

CronTriggerBeanでこれを実現する方法はありますか?私はXML設定でquartz-1.6.5を使用していますので、SimpleTriggerBeanを設定することはできません。

答えて

0

これは、単一のトリガービーンでは実行できません。あなたは、2つの独立を作成し、スケジューラに登録する必要があります。

<bean id="cronTriggerJobFirstMonday" 
      class="org.springframework.scheduling.quartz.CronTriggerBean"> 
    <property name="jobDetail" ref="YourQuartzJobBean" /> 
    <property name="cronExpression" value="0 0 12 ? * MON#1 *" /> 
</bean> 

<bean id="cronTriggerJobThirdMonday" 
      class="org.springframework.scheduling.quartz.CronTriggerBean"> 
    <property name="jobDetail" ref="yourQuartzJobBean" /> 
    <property name="cronExpression" value="0 0 12 ? * MON#3 *" /> 
</bean> 

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
    <property name="triggers"> 
     <list> 
      <ref bean="cronTriggerJobFirstMonday" /> 
      <ref bean="cronTriggerJobThirdMonday" /> 
     </list> 
    </property> 
</bean> 
1

あなたが同じモジュールをトリガ2クォーツ-cronジョブを設定していないのはなぜ?

毎月第1月曜日 - 0 0 12? 1/1 MON#1 *

毎月第2月曜日 - 0 0 12? 1/1 MON#2 *

  • これにより、ソリューションが簡単になります。
関連する問題