我正在使用 Quartz 调度程序在每天特定时间推送自动电子邮件。我的应用程序配置在两个集群中。两个集群中的调度程序同时触发并向用户发送重复的电子邮件。请向我推荐代码以确保只有一个调度程序会触发。我已经完成了谷歌搜索,发现 JDBC-JobStore 将解决这个问题。但我不想在数据库中存储计划信息。RAMJobStore 会解决这个问题吗?下面是我现有的代码。
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger" />
</list>
</property>
</bean>
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobDetails" />
<property name="cronExpression" value="0 51 10 * * ?"/>
</bean>
<bean id="jobDetails"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="sendEmails" />
<property name="targetMethod" value="executeJob" />
<property name="concurrent" value="false" />
</bean>
<bean id="sendEmails" class="com.westin.agi.PushNotification"></bean>