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