timesavetask.java

来自「oa办公系统」· Java 代码 · 共 59 行

JAVA
59
字号
/**
 * FileName:TimeSaveTask.java,v 1.0 created in 2008-11-10 下午12:57:09
 * Created by yuankai
 * Copyright (c) 2008 www.ecjtu.jx.cn
 * All Rights Reserved.
 */

package cn.jx.ecjtu.oa.services;

import java.util.List;
import java.util.TimerTask;

import javax.servlet.ServletContext;

import cn.jx.ecjtu.oa.common.Constant;
import cn.jx.ecjtu.oa.ps.pojo.LoginUser;

 

/**
 * @todo:定时器执行的数据库中在线时长刷新业务(把appliaction中在线人员列表的在线时间更新到数据库中)
 * @author yuankai,胡楚斌,李春鹏
 * @version $Revision: 1.3 $
 * @since 1.0
 */

public class TimeSaveTask extends TimerTask{
 
	    private ServletContext context;  
	    private static boolean isRunning=true;
		private SysUserService service;//使用到的SysUserService的对象
		
	    public TimeSaveTask(ServletContext context) 
	    {
		    super();
			this.context = context;
			service = (SysUserService) ServiceFactory.getService(SysUserService.class);
	    }
	    
	    public void run() {//循环执行
		if(isRunning)
		{
			//判断application的在线列表是不是存在
			if(null!=context.getAttribute(Constant.ONLINELIST_IN_APPLICATION))
			{
				OnlineList list=(OnlineList) context.getAttribute(Constant.ONLINELIST_IN_APPLICATION);
              
				List<LoginUser> users=list.getUsers();

                for(LoginUser loginUser:users)        //更新数据库中每个在线用户的在线时长
				  service.modifyOnlineTime(loginUser);      
                System.out.println("数据库中在线时长更新了!");
			}
		}
	    }

	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?