⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oaschedulerunit.java

📁 oa 源码
💻 JAVA
字号:
package com.redmoon.oa;import cn.js.fan.kernel.BaseSchedulerUnit;import cn.js.fan.util.ErrMsgException;import cn.js.fan.db.Conn;import cn.js.fan.web.Global;import java.sql.ResultSet;import java.sql.SQLException;import org.apache.log4j.Logger;import com.redmoon.oa.message.MessageDb;import com.redmoon.oa.person.PlanDb;import java.sql.PreparedStatement;import com.redmoon.oa.person.UserDb;import java.util.Iterator;import com.redmoon.oa.flow.MyActionDb;public class OASchedulerUnit extends BaseSchedulerUnit {    static Logger logger = Logger.getLogger(OASchedulerUnit.class.getName());    static long lastRemindTime = System.currentTimeMillis();     static long remindInterval = 600000;     static long lastClearProxyExpiredInterval = System.currentTimeMillis();    static long clearProxyExpiredInterval = 300000;     static long lastClearUserMessageInerval = System.currentTimeMillis();    static long clearUserMessageInterval = 86400000;     public OASchedulerUnit() {        lastTime = System.currentTimeMillis();        interval = 1800000;         name= "OA Scheduler Unit";        com.redmoon.oa.Config cfg = new com.redmoon.oa.Config();        String str1 = cfg.get("interval_remind_user_plan");        remindInterval = Long.parseLong(str1);        String str2 = cfg.get("interval_clear_proxy_expired");        clearProxyExpiredInterval = Long.parseLong(str2);        String str3 = cfg.get("interval_flow_hurry");        interval = Long.parseLong(str3);        String str4 = cfg.get("interval_clear_message");        clearUserMessageInterval = Long.parseLong(str4);    }        public void OnTimer(long curTime) {                if (curTime-lastTime>=interval) {            action();            lastTime = curTime;        }                                if (curTime - lastRemindTime >= remindInterval) {            sendRemindMsg();            lastRemindTime = curTime;        }        if (curTime - lastClearProxyExpiredInterval >= clearProxyExpiredInterval) {            try {                clearProxyExpired();            }            catch (ErrMsgException e) {                logger.error("OnTimer:" + e.getMessage());            }            lastClearProxyExpiredInterval = curTime;        }        if (curTime - lastClearUserMessageInerval >= clearUserMessageInterval) {            clearUserMessage();            lastClearUserMessageInerval = curTime;        }    }    public void clearUserMessage() {        UserDb ud = new UserDb();        Iterator ir = ud.list().iterator();        MessageDb md = new MessageDb();        while (ir.hasNext()) {            md.clearMsgOfUser(ud.getName());        }    }    public synchronized void action() {        sendFlowHurryMsg();    }    public void sendRemindMsg() {        PlanDb pd = new PlanDb();                pd.makeRemindMsg();    }    public void sendFlowHurryMsg() {                    }        void clearProxyExpired() throws ErrMsgException {                String sql = "select name from users where proxyBeginDate>NOW() and proxyEndDate<NOW() and proxy<>''";        PreparedStatement pstmt = null;        ResultSet rs = null;        Conn conn = new Conn(Global.defaultDB);        try {            pstmt = conn.prepareStatement(sql);            rs = conn.executePreQuery();            while (rs.next()) {                String userName = rs.getString(1);                MyActionDb mad = new MyActionDb();                mad.clearProxyOfUser(userName);            }        } catch (SQLException e) {            logger.error("clearProxyExpired:" + e.getMessage());        } finally {            if (rs != null) {                try {                    rs.close();                } catch (Exception e) {}                rs = null;            }            if (pstmt != null) {                try {                    pstmt.close();                } catch (Exception e) {}                pstmt = null;            }            if (conn != null) {                conn.close();                conn = null;            }        }    }}

⌨️ 快捷键说明

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