MongoDB配置多个Quartz

傅边浩
2023-12-01

Quartz有多种配置方式,我的项目使用了代码和配置文件两种方式,希望对大家有帮助

配置文件内容及解释:

  • <bean id="contrastMonitorTask" class="com.ygz.monitor.task.MonitorTask"/>  //配置需要执行的类
    
    <!--用于发送待发送信息-->    
    
    <bean id="sendInfosMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">        
    
    	<property name="targetObject" ref="contrastMonitorTask" />        //如果代码配置到这里就可以了
    
    	<property name="targetMethod" value="contrastSendMonitor" /> // 配置文件配置需要执行的方法        
    
    	<property name="concurrent" value="false" />    //多个Trigger使用同一个jobDtail 可能会产生并发现象 加入false会在前一个Trigger执行完毕后再执行下一个,相当于推迟执行,所以这里根据实际情况进行配置
    
    </bean>    
    
    <!--定义触发器-->  
    
    <bean id="sendInfosTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">   
    
    	<property name="jobDetail" ref="sendInfosMethod" />        
    
    	<!-- 发送待发送信息定时表达式 ,每一分钟执行一次 -->        
    
    	<property name="cronExpression" value="${corn.expression}" />    // properties文件写入cron表达式
    
    </bean>    
    
    <!-- 配置调度工厂 -->    
    
    <bean id="VatSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    
    <property name="triggers">            
    
    	<list>                
    
    		<ref bean="sendInfosTrigger" />            
    
    	</list>       
    
     </property>    
    
    </bean>
    
    </beans>

    <!--用于发送待发送信息-->

    <bean id="sendInfosMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

    <property name="targetObject" ref="contrastMonitorTask" /> //如果代码配置到这里就可以了

    <property name="targetMethod" value="contrastSendMonitor" /> // 配置文件配置需要执行的方法

    <property name="concurrent" value="false" /> //多个Trigger使用同一个jobDtail 可能会产生并发现象 加入false会在前一个Trigger执行完毕后再执行下一个,相当于推迟执行,所以这里根据实际情况进行配置

    </bean>

    <!--定义触发器-->

    <bean id="sendInfosTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">

    <property name="jobDetail" ref="sendInfosMethod" />

    <!-- 发送待发送信息定时表达式 ,每一分钟执行一次 -->

    <property name="cronExpression" value="${corn.expression}" /> // properties文件写入cron表达式

    </bean>

    <!-- 配置调度工厂 -->

    <bean id="VatSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

    <property name="triggers">

    <list>

    <ref bean="sendInfosTrigger" />

    </list>

    </property>

    </bean>

    </beans>

 类似资料: