quartz 集成Spring 时需要获取Spring context 上下文

1.由spring配置文件来管理quartz 配置. 注意红颜色标示的代码段,为后面写job时获取spring 上下文需要如此配置

 <!-- Associate the Job Bean with a Trigger. Triggers define when a job is executed. -->
     <bean id="simpleTrigger2" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
         <!-- see the example of method invoking job above -->
         <property name="jobDetail" ref="alarmTileJob"/>
         <property name="startDelay" value="300000"/>
         <property name="repeatInterval" value="300000"/>
    </bean>
	
    <!-- A list of Triggers to be scheduled and executed by Quartz 	-->
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    	<property name="triggers">
        	<list>
            	<ref bean="simpleTrigger1"/>
            	<ref bean="simpleTrigger2"/>
            </list>
        </property>
        <property name="applicationContextSchedulerContextKey"> <value>applicationContext</value> </property>
     </bean>

 

 2.job 调度类实现下面代码

private static final String APPLICATION_CONTEXT_KEY = "applicationContext";
private ApplicationContext getApplicationContext(JobExecutionContext context) throws Exception {
		ApplicationContext appCtx = null;
		appCtx = (ApplicationContext) context.getScheduler().getContext().get(APPLICATION_CONTEXT_KEY);
		if (appCtx == null) {
			throw new JobExecutionException("No application context available in scheduler context for key \"" + APPLICATION_CONTEXT_KEY + "\"");
		}
		return appCtx;
}
	

 

你可能感兴趣的:(spring,bean,quartz,配置管理)