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

📄 htdlexecdtrwmultithread.java

📁 以前做的一个j2ee的项目
💻 JAVA
字号:
package gov.gdlt.ssgly.taxcore.taxblh.htdl;

import java.util.TimerTask;
import gov.gdlt.ssgly.taxcore.taxdao.htdl.HTDLdtrwlbDAO;
import gov.gdlt.ssgly.taxcore.comm.config.ApplicationContext;
import java.util.ArrayList;
import java.sql.Timestamp;
import gov.gdlt.ssgly.taxcore.comm.log.LogWritter;
import gov.gdlt.ssgly.taxcore.taxevent.htdl.*;

/**
 *
 * <p>Title: 以多线程的方式执行当天任务别表中的任务(根据分组情况来分线程)</p>
 *
 * <p>Description: 广东地税税收管理员工作平台</p>
 *
 * <p>Copyright: Copyright (c) 2005 广东省地方税务局,广州市地方税务局</p>
 *
 * <p>Company: 广州地税</p>
 *
 * @author 肖雪莲
 * @version 1.0
 */

public class HTDLexecDtrwMultiThread extends TimerTask {
    private static boolean isRunning = false;

    public HTDLexecDtrwMultiThread() {
    }

    //对当天任务列表中的所有任务按照分组顺序执行,多线程
    //flag为true的话,则在执行前重新生成当天任务列表中的任务
    public int executeDtrwMutiThread(boolean flag) throws Exception {
        int result = ApplicationContext.RET_SUCCESS;

        try {
            HTDLdtrwlbDAO dtrwDAO = new HTDLdtrwlbDAO();
            if (flag) {
                //生成当天的任务列表,测试的时候注释
                HTDLreturnVO retVO = new HTDLreturnVO();
                System.out.println("=================run in the dtrwDAO:createDtrw============================");
                dtrwDAO.createDtrw(retVO);
//                dtrwDAO.createDtrw_synchronize(retVO);
                LogWritter.sysDebug("the return values in createDtrw: status-" + retVO.getStatus() +
                                    ",details-" + retVO.getDetail());
                System.out.println("=============="+"the return values in createDtrw: status-" + retVO.getStatus() +
                                    ",details-" + retVO.getDetail()+"==================");
            }
//            LogWritter.sysDebug("==get the number of fz from db...==");
            ArrayList fzxxList = (ArrayList) dtrwDAO.selectFzxx();
            System.out.println("========get the number of fz from db...=="+fzxxList.size());
            //多线程顺序执行
            for (int i = 0; i < fzxxList.size(); i++) {
//                    executeHtrwbyFz((String) fzxxList.get(i));
//                LogWritter.sysDebug("current fz :" + fzxxList.get(i)+" "+i);
                System.out.println("current fz :" + fzxxList.get(i)+" "+i);
                HTDLexecDtrwByFz execDtrwByFz = new HTDLexecDtrwByFz((String)
                        fzxxList.get(i));
                execDtrwByFz.start();
            }
        } catch (Exception e) {
            LogWritter.sysDebug(e.toString());
        }
        return result;
    }

//把要执行的功能放在该方法中,相当于main方法
    public void run() {
        try {
            HTDLdtrwlbDAO dtrwDAO = new HTDLdtrwlbDAO();
//            int result = dtrwDAO.countDtrwbyZt("1", null); //"1"表示执行中,查看是否存在未执行完毕的任务
            int result = 0;   //for test
            if (result != 0) {
                isRunning = true;
            } else {
                isRunning = false;
            }
            if (!isRunning) {
                isRunning = true;
                LogWritter.sysInfo("begin to execute the Dtrw!");
                executeDtrwMutiThread(true);  //重新生成当天任务,并执行
                isRunning = false;
                LogWritter.sysInfo("end of execution of the Dtrw!");
            } else {
                LogWritter.sysInfo("上一次任务执行还未结束!");
            }
        } catch (Exception e) {
//            e.printStackTrace();
            LogWritter.sysDebug(e.toString());
        }
    }


    public static void main(String args[]) {
        HTDLexecDtrwMultiThread execDtrw = new HTDLexecDtrwMultiThread();
        execDtrw.run();
    }
}

⌨️ 快捷键说明

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