package com.cwa.petserver.timer; /** * Author: zero * Created: 2012-7-9 * Copyright: CWA HummingBird 2012 */ import org.apache.log4j.Logger; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; import com.cwa.petserver.loader.ActiveUserDBLoader; import com.cwa.petserver.loader.ActiveUserMap; import com.cwa.petserver.loader.IActiveUserLoader; import com.cwa.petserver.memory.activeuser.ActiveUserManager; /** * 定时扫描DB,将等级符合的活跃玩家选出一部分缓存起来。 * @author zero */ public class ScanDBActiveUser extends QuartzJobBean { final static int MIN_LEVEL = 1; final static int MAX_LEVEL = 100; final static int LIMIT = 1000; static final Logger logger = Logger.getLogger(ScanDBActiveUser.class); @Override protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException { // 设置一个Loader的类型。 IActiveUserLoader loader = new ActiveUserDBLoader(); ActiveUserMap map = loader.load(MIN_LEVEL, MAX_LEVEL, LIMIT); for (int i = MIN_LEVEL; i < MAX_LEVEL; ++i) { ActiveUserManager.INSTANCE.pushUser(i, map.getUserList(i)); } } }