spring 定时器

applicationContext.xml:

 <!-- 定时器的实验开始 -->
    <bean id="comrepeatingTrigger"
    	class="org.springframework.scheduling.timer.ScheduledTimerTask">
    	
    	<!--启动一秒后执行 -->
    	<property name="delay">
    		<value>61000</value>
    	</property>
    	
    	<!--每分钟执行一次 -->
    	<property name="period">
    		<value>60000</value>
    	</property>
    	
    	<!--注入要监控的javaBean -->
    	<property name="timerTask">
    		<ref bean="companyTask" />
    	</property>

    	
    	<!--类型是否为fixedRate型,默认为fixedDelay-->
    	<property name="fixedRate">
    		<value>true</value>
    	</property>
    </bean>
    <!-- 
    <bean id="scheduler"
    	class="org.springframework.scheduling.timer.TimerFactoryBean">
    	<property name="scheduledTimerTasks">
    		<list>
    			<ref bean="comrepeatingTrigger" />
    		</list>
    	</property>
    </bean>
     -->
    
    <bean id="companyTask" class="com.here.web.common.CompanySampleTask">
        <property name="hereProductService">
            <ref bean="hereProductService"/>
        </property>
        <property name="areaChangeUtil">
            <ref bean="areaChangeUtil"/>
        </property>
        <property name="hereUserService">
            <ref bean="hereUserService"/>
        </property>
        <property name="hereCorporationService">
            <ref bean="hereCorporationService"/>
        </property>
    </bean>
    <!-- 定时器的实验结束 -->

用法:

public class CompanySampleTask extends TimerTask{   
	private HereProductService hereProductService;
	private AreaChangeUtil areaChangeUtil;
	private HereUserService hereUserService;
	private HereCorporationService hereCorporationService;
	private SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");

//----------------------------------产品接口	
	public HereProductService getHereProductService() {
		return hereProductService;
	}
	public void setHereProductService(HereProductService hereProductService) {
		this.hereProductService = hereProductService;
	}
	
//----------------------------------地区接口
	public AreaChangeUtil getAreaChangeUtil() {
		return areaChangeUtil;
	}
	public void setAreaChangeUtil(AreaChangeUtil areaChangeUtil) {
		this.areaChangeUtil = areaChangeUtil;
	}

//----------------------------------用户接口
	public HereUserService getHereUserService() {
		return hereUserService;
	}
	public void setHereUserService(HereUserService hereUserService) {
		this.hereUserService = hereUserService;
	}

//----------------------------------企业接口
	public HereCorporationService getHereCorporationService() {
		return hereCorporationService;
	}
	public void setHereCorporationService(
			HereCorporationService hereCorporationService) {
		this.hereCorporationService = hereCorporationService;
	}

	public void run() {
		String HQL = "from HereUser hereUser";
		List hereUsers = this.hereUserService.queryByHQL(HQL);
		if(hereUsers.size()>0) {
			for(int i=0; i<hereUsers.size(); i++) {
				HereUser hereUser = (HereUser)hereUsers.get(i);
				HereCorporation hereCorporation = this.hereCorporationService.queryById(hereUser.getUserId(), HereCorporation.class);
				System.out.println("重新生成静态页面CompanySampleTask,时间:" + formatter.format(new Date()));
				new CompanyHtmlUtil().buildCompanyHtml(hereUser, hereCorporation, areaChangeUtil, hereProductService);
		    	
		    	//System.out.println("重新刷新一下产品列表中的类别信息!,时间:" + formatter.format(new Date()));
		    	//classRelatedTempUtil.setClassRelatedMap();
			}
		}

    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值