QuartzJobBean实现定时器功能

第一步:自定义一个接口

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 * * * ?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值