struts定义定时器 ZhugeOnlineTask.java
public class ZhugeOnlineTask {
private Logger logger = Logger.getLogger(this.getClass());
private UserService userServiceImpl;
public void setUserServiceImpl(UserService userServiceImpl) {
this.userServiceImpl = userServiceImpl;
}
public void work() {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
int hour = Integer.valueOf(new SimpleDateFormat("HH").format(calendar.getTime()));
JedisPool pool = null;
Jedis ssdb = null;
// 每小时更新在线列表zhuge_online
try {
pool = SSDBAPI.getPool();
ssdb = pool.getResource();
Map
zhugeOnlines = ssdb.hgetAll(Contants.ZHUGE_ONLINE);
Iterator
> iterator = zhugeOnlines.entrySet().iterator();
while (iterator.hasNext()) {
Entry
entry = iterator.next();
String appId = entry.getKey();
// 是否过期
boolean isOverdue = StringUtils.isBlank(ssdb.get(appId)) ? true : false;
if (isOverdue) {
ssdb.hdel(Contants.ZHUGE_ONLINE, appId);
}
}
} catch (Exception e) {
pool.returnBrokenResource(ssdb);
Logger.getLogger(this.getClass()).error("error", e);
} finally {
SSDBAPI.returnResource(pool, ssdb);
}
// 每天22点以后,更新黑白名单列表
if (hour >= 22) {
List
contractEventCounts = userServiceImpl.getContractEventCounts(-1); userServiceImpl.updateEventWrite(contractEventCounts); } } }
配置定时器applicationContext-cron-normal.xml
/bean>