任务调度例子 quartz-2.2.1.jar

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

  <bean id="jobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
  <property name="jobClass" value="com.epgis.integration.job.JobQuartzService"/>
  <property name="durability" value="true" />
  <property name="requestsRecovery" value="true" />
 </bean>

 <bean id="jobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
  <property name="jobDetail" ref="jobDetail" />
  <!--  "0 0 12 * * ? "  每天12点运行||  "0 0/5 * ? * * *"每5分钟运行-->
  <property name="cronExpression" value="0 0/2 * ? * * *" />
  <!-- <property name="cronExpression" value="0 0 0 * * ? " />-->
 </bean>

 <bean name="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  <property name="jobDetails">
   <list><ref bean="jobDetail" /></list>
  </property>
  <property name="triggers">
   <list><ref bean="jobTrigger" /></list>
  </property>
 </bean>
</beans>
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;

import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.PersistJobDataAfterExecution;
import org.springframework.scheduling.quartz.QuartzJobBean;

import com.epgis.base.util.EasyApplicationContextUtils;
import com.epgis.common.event.EventManager;
import com.epgis.common.log.domain.Log;
import com.epgis.common.log.domain.LogDefinition;
import com.epgis.common.log.domain.LogLevel;
import com.epgis.common.log.event.LogEvent;
/**
 * @author Administrator
 * 在context/integration/integration-job.xml文件中cronExpression配制调度时间间隔
 * 
 */
@PersistJobDataAfterExecution
@DisallowConcurrentExecution
public class JobQuartzService extends QuartzJobBean {
	JobQuartzDao jobQuartzDao = (JobQuartzDao) EasyApplicationContextUtils.getBeanByType(JobQuartzDao.class);
	
	/**
	 * 执行调度任务,每隔一断时候执行一次
	 */
	@Override
	protected void executeInternal(JobExecutionContext jobExecutionContext)throws JobExecutionException {
		System.out.println("调用==============================:");
		//if("true".equalsIgnoreCase(jobQuartzDao.getParamValue("TEST_PROCEDURRE"))){
			int retVal=jobQuartzDao.callProcedure();
			System.out.println("调用callProcedure结果:"+retVal);
			EventManager.getInstance().publishEvent(new LogEvent(new Log(LogLevel.INFO, LogDefinition.SQL_EXCEPTION, "调用callProcedure结果:"+retVal)));
		//}
		if("true".equalsIgnoreCase(jobQuartzDao.getParamValue("TEST_WEBSERVICE"))){
			excuteGatherService();
		}
	}
}

猜你喜欢

转载自action-java.iteye.com/blog/2198382