第一步:自定义一个接口
public interface QuartzJobIf
{
public abstract void perform();
}
第二步:自定义一个类继承 QuartzJobBean,实现QuartzJobIf接口
public class RedoGenerateAZCapacityHistory extends QuartzJobBean implements
QuartzJobIf
{
private Logger LOGGER = LoggerFactory.getLogger(getClass());
private CapacityService capacityService;//自定义的一个service
@Override
public void perform()
{
if (capacityService != null)
{
try
{
capacityService.generateAZCapacityHistory();
}
catch (NfvoException e)
{
e.printStackTrace();
LOGGER.info("execute generateAZCapacityHistory failure...");
}
catch (Exception e) {
e.printStackTrace();
LOGGER.info("execute generateAZCapacityHistory failure...");
}
}
else
{
LOGGER.info("capacityService in null,could not execute generateAZCapacityHistory...");
}
}
@Override
protected void executeInternal(JobExecutionContext arg0)
throws JobExecutionException
{
perform();
}
public CapacityService getCapacityService() {
return capacityService;
}
public void setCapacityService(CapacityService capacityService) {
this.capacityService = capacityService;
}
}
第三步:配置xml文件
<!-- 配置GenerateAZCapacityHistory定时任务 -->
<span style="white-space:pre"> </span><bean id="capacityService" class="com.ericsson.ecmca.services.wf.impl.CapacityServiceImpl">
<span style="white-space:pre"> </span></bean>//自定义service
<bean id="generateAZCapacityHistoryCronJobDetail"
class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<property name="jobClass"
value="com.ericsson.ecmca.cronjob.RedoGenerateAZCapacityHistory" />
<property name="durability" value="true" />
<property name="jobDataAsMap">
<map>
<entry key="capacityService">
<ref local="capacityService" />
</entry>
</map>
</property>
</bean>
<bean id="generateAZCapacityHistoryCronJobTrigger"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="generateAZCapacityHistoryCronJobDetail" />
<property name="cronExpression" value="${generateAZCapacityHistory.exp}" />
</bean>
<!--
-->
<bean id="AZCapacityTrigger"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="generateAZCapacityHistoryCronJobTrigger" />
</list>
</property>
</bean>
第四步:配置定时时间
generateAZCapacityHistory.exp=0 0 * * * ?