bossthread.java

来自「短信」· Java 代码 · 共 66 行

JAVA
66
字号
package com.asiainfo.batchsend.sms.boss;

import java.util.List;

import org.apache.log4j.Logger;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Company: Asiainfo Technologies(China),Inc </p>
 * <p>Date: Nov 6, 2007 3:55:51 PM </p>
 * <p>Email to: jiangyl@asiainfo.com </p>
 * @author jiangyl
 * @version 1.0
 */

public class BossThread extends Thread {
	private boolean safeExit = false;
	private BossSvc bossSvc;
	private static final Logger log = Logger.getLogger(BossThread.class);

	public BossThread(BossSvc bossSvc) {
		this.bossSvc = bossSvc;
		String tem = bossSvc.getClass().getName();
		tem = tem.substring( tem.lastIndexOf(".")+1);
		setName("BOSS-" + tem);
	}

	public void run() {	
		while ( !safeExit ){
			try{
				if ( bossSvc.hasLoadData() ){
					List list = bossSvc.loadData();
					if (  list != null && list.size() > 0 ){
						boolean flag = bossSvc.sendData(list);
						int i = 1; 
						while ( !flag && i < 4){
							flag = bossSvc.sendData(list);
							i++;
						}
						if ( !flag ){
							bossSvc.failDone(list);
						}else
							bossSvc.successDone(list);
					}
				}else{
					this.threadSleep(7*1000);
				}
			}catch(Exception e){
				log.error("BOSS发送线程发送严重的错误",e);
			}
		}
	}

	private void threadSleep(long msec) {
		try {
			Thread.sleep(msec);
		} catch (Exception e) {
		}
	}
	
	public void safeExit(){
		this.safeExit = true;
	}
}

⌨️ 快捷键说明

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