<?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();
}
}
}