quartz任务调用

第一步:
package com.cmsz.rist.config.timer;

import java.util.List;

import org.apache.log4j.Logger;

import com.cmsz.rist.common.util.SystemValue;
import com.cmsz.rist.common.util.Tools;
import com.cmsz.rist.config.biz.RechargeCardServer;
import com.cmsz.rist.config.vo.RechargeCardVO;
import com.cmsz.rist.core.RistCommand;
import com.cmsz.rist.core.service.AlarmEngine;
import com.cmsz.rist.system.biz.ILogsService;

/**
 * 有效期过期提前三十天告警
 * @author wzh
 *
 */
public class ChargeCardUseTimeTimer {
	private static Logger log = Logger.getLogger(ChargeCardTimer.class);
	
	private RechargeCardServer rechargeCardServer;
	private ILogsService logsService;

	public void setRechargeCardServer(RechargeCardServer rechargeCardServer) {
		this.rechargeCardServer = rechargeCardServer;
	}

	public void setLogsService(ILogsService logsService) {
		this.logsService = logsService;
	}
	
	public void  checkChargeCardUseTime(){
		log.info("checkChargeCardUseTime  start!");
		try {
			List<RechargeCardVO> list = rechargeCardServer.queryChargeCardForCheckUseTime();
		    for(int i=0;i<list.size();i++){
		    	RechargeCardVO v = list.get(i) ;
		    	String alarmTime = Tools.getSomeDayBaseToday1(30) ;
		    	
		    	String useTime = v.getRechargeUseDate().replaceAll("-","") ;
		    	alarmTime = alarmTime.replaceAll("-", "") ;
				if(Long.valueOf(useTime) < Long.valueOf(alarmTime)){
					String alarmInfoId = RistCommand.ALARM_CHARGE_CARD; 
					String sysAlarmDesc = "充值卡"+v.getRechargeNum()+"充值卡有效期距当前时间已不足30天,请尽快使用";					
					String alarmLevel = SystemValue.ALARM_LEVEL0;
					AlarmEngine.isAlarmExist(null, alarmInfoId, "", "充值卡", sysAlarmDesc, alarmLevel,null,true);		
				}
		    }
		
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		log.info("checkChargeCardUseTime end!");
	}

}


第二步:
配置
<!--定时每日对充值卡有效期进行检查,快要过期的卡 提前三十天进行告警  -->
	<bean id="chargeCardUseTimeTimer" class="com.cmsz.rist.config.timer.ChargeCardUseTimeTimer">
	    <property name="rechargeCardServer">
	        <ref bean="rechargeCardServer"/>
	    </property>
	    <property name="logsService">
	        <ref bean="logsService"/>
	    </property>
	</bean>
	<bean id="chargeCardUseTimeTimerJobDetail"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject">
			<ref bean="chargeCardUseTimeTimer" />
		</property>
		<property name="targetMethod">
			<value>checkChargeCardUseTime</value>
		</property>
		<property name="concurrent" value="false" />
	</bean>	
	<bean id="chargeCardUseTimeTimerCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail">
			<ref bean="chargeCardUseTimeTimerJobDetail" />
		</property>
		<property name="cronExpression" value="0 0 3 * * ?" />
	</bean>	 
		
	<bean lazy-init="false"
		class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref local="chargeCardUseTimeTimerCronTrigger" />
				
			</list>
		</property>
	</bean>

你可能感兴趣的:(apache,log4j,quartz)