亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sendermainapplication.java

?? 彩信接入系統(tǒng)
?? JAVA
字號:
package com.rainbow.mms.gateway;

import java.io.IOException;
import java.util.Timer;


import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;



/**
 * 發(fā)送型彩信網(wǎng)關的主線程,負責加載網(wǎng)關配置、啟動發(fā)送者線程、讀取數(shù)據(jù)庫中要發(fā)送的彩信信息
 * @author Rainbow MMS Group Leader —— TrWorks 
 */
public class SenderMainApplication {
	
	/**
	 * 網(wǎng)關配置
	 */
	private ConfigGateWay config = null;

	/**
	 * 發(fā)送者線程組
	 */
	private Thread[] threads = null;

	/**
	 * 讀取數(shù)據(jù)庫的定時器
	 */
	private Timer dbAccessTimer = null;

	/**
	 * 統(tǒng)計發(fā)送量用的定時器
	 */
	private Timer staticTimer = null;
	
	/**
	 * 日志
	 */
	private Logger log = Logger.getLogger(SenderMainApplication.class);

	/**
	 * 唯一的Main實體
	 */
	private static final SenderMainApplication mainApp = new SenderMainApplication();

	/**
	 * 通過工廠方法來獲得唯一的一個Main實體
	 * @return
	 */
	public static SenderMainApplication getInstance() {
		return mainApp;
	}
	
	private SenderMainApplication() {
		// 加載Log4j的配置
		PropertyConfigurator.configure("conf/log4j.properties");
	}

	/**
	 * 啟動網(wǎng)關主線程,該函數(shù)是運行網(wǎng)關必須要調(diào)用的函數(shù) 它負責加載網(wǎng)關配置、啟動發(fā)送者線程、啟動定時讀取數(shù)據(jù)庫的定時器
	 */
	public void startGateWay() {
		
		log.info("----------------------------------");
		log.info("啟動彩信發(fā)送型網(wǎng)關...");

		// 加載配置
		config = new ConfigGateWay();
		if (false == config.loadConfig("conf/GateWaySysConfig.properties")) {
			log.error("啟動彩信發(fā)送型網(wǎng)關失敗");
			return;
		}

		// 配置數(shù)據(jù)庫和網(wǎng)關連接
		log.info("GateWay配置,SpID: " + config.getGwSpID());
		log.info("GateWay配置,ServiceID: " + config.getGwSpServiceID());
		log.info("GateWay配置,User: " + config.getGwLinkUser());
		log.info("GateWay配置,Passwd: " + config.getGwLinkPasswd());
		log.info("GateWay配置,Url: " + config.getGwLinkUrl());
		log.info("GateWay配置,WantReport: " + config.getGwWantReport());
		log.info("GateWay配置,ContainerClass: " + config.getGwContainClassName());
		log.info("GateWay配置,SenderThreadClass: "
				+ config.getGwSenderThreadClassName());

		// 配置發(fā)送者線程的發(fā)送連接參數(shù)
		SenderThread.setSenderConfig(config.getGwSpID(), config
				.getGwSpServiceID(), config.getGwLinkUser(), config
				.getGwLinkPasswd(), config.getGwLinkUrl());
		
		// 建立發(fā)送者線程的實體
		log.debug("建立發(fā)送者線程的實體");
		SenderThread threads[] = new SenderThread[config.getGwThreadNum()];
		for (int i = 0; i < config.getGwThreadNum(); i++) {
			try {
				String className = config.getGwSenderThreadClassName();
				Class threadClass = Class.forName(className);
				threads[i] = (SenderThread)(threadClass.newInstance());
				
			} catch (InstantiationException e) {
				e.printStackTrace();
				log.error("在startGateWay里做類型轉(zhuǎn)換異常");
				return;
			} catch (IllegalAccessException e) {
				e.printStackTrace();
				log.error("在startGateWay里做類型轉(zhuǎn)換異常");
				return;
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
				log.error("沒有找到指定發(fā)送者線程的class文件");
				return;
			}
		}

		// 啟動發(fā)送線程
		log.debug("啟動發(fā)送線程");
		for (int j = 0; j < config.getGwThreadNum(); j++) {
			threads[j].start();
		}

		// 啟動數(shù)據(jù)庫定時訪問線程
		int listMaxSize = 10 * (config.getDbGetTimeInterval() / 1000) * config.getGwThreadNum();
		SenderDataGetter dateGetter = new SenderDataGetter(
				config.getGateWayID(), 
				listMaxSize,
				config.getGwContainClassName(),
				(int)(listMaxSize * (0.5)),
				(int)(listMaxSize * (0.1)));
		dbAccessTimer = new Timer();
		dbAccessTimer.schedule(dateGetter, 0, config.getDbGetTimeInterval());

		// 啟動統(tǒng)計發(fā)送量用的定時器
		SenderStaticInfo staticInfo = SenderStaticInfo.getInstance();
		staticTimer = new Timer();
		staticTimer.schedule(staticInfo, 0, (60*60*1000));
		
		log.info("啟動彩信發(fā)送型網(wǎng)關成功!");
	}

	/**
	 * 停止網(wǎng)關的運行,負責將發(fā)送者線程關閉、讀取數(shù)據(jù)庫的定時器關閉
	 *  
	 */
	public void stopGateWay() {
		log.info("停止彩信發(fā)送型網(wǎng)關");
		
		// 停止對數(shù)據(jù)庫的訪問
		if (dbAccessTimer != null) {
			dbAccessTimer.cancel();
		}

		// 停止工作者線程的發(fā)送
		SenderThread.setBRun(false);

		/*
		int threadsNum = threads.length;

		while (threadsNum <= 1) {

			if (threads[threadsNum - 1].isAlive() == true) {

				try {
					wait(1000);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			} else {
				--threadsNum;
			}

		}
		*/
	}

	// 單元測試
	public static void main(String[] args) throws IOException {
		SenderMainApplication mainThread = SenderMainApplication.getInstance();
		mainThread.startGateWay();
		/*VaspSendTestTemp.test();*/
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国在线观看| 日韩av在线播放中文字幕| 91九色02白丝porn| 色哟哟一区二区在线观看| 不卡一区二区三区四区| 另类小说综合欧美亚洲| 性感美女极品91精品| 亚洲乱码中文字幕| 国产精品毛片久久久久久| 久久久久久久久久久黄色| 日韩一区二区在线观看| 欧美日韩大陆在线| 在线成人小视频| 欧美蜜桃一区二区三区| 国产精品美女久久福利网站| 久久精品久久久精品美女| 色婷婷激情久久| 亚洲视频一二区| 一区二区在线观看免费| 国产成人99久久亚洲综合精品| 国精品**一区二区三区在线蜜桃| 久久91精品国产91久久小草| 国产一区二区三区久久悠悠色av| 国产成人超碰人人澡人人澡| 91麻豆国产福利精品| 色综合久久久久综合体| 国产精品国产三级国产aⅴ无密码| 亚洲福中文字幕伊人影院| 日本欧美大码aⅴ在线播放| 在线看日韩精品电影| 日韩久久免费av| 国产精品国产三级国产三级人妇| 国产91精品在线观看| 精品国产成人系列| |精品福利一区二区三区| 久久精品国内一区二区三区| 欧美一级高清片在线观看| 免费在线视频一区| 97se亚洲国产综合自在线观| 欧美一二三四区在线| 视频一区二区三区入口| 99久久99久久精品免费看蜜桃| 亚洲国产精品t66y| 午夜精品久久久久久久99水蜜桃 | 欧美精品精品一区| 午夜久久久久久久久久一区二区| 欧美高清性hdvideosex| 日本亚洲电影天堂| 精品国产一区二区三区不卡| 国产在线不卡一区| 国产精品美女久久久久久久久久久 | 秋霞午夜鲁丝一区二区老狼| 日韩免费看的电影| 国产白丝网站精品污在线入口| 国产清纯白嫩初高生在线观看91 | 欧美日韩你懂的| 中文字幕日韩精品一区| 色天使色偷偷av一区二区| 亚洲国产成人av网| 精品久久久久久久久久久久久久久久久| 成人免费小视频| 欧美私模裸体表演在线观看| 亚洲欧美怡红院| 欧美日韩aaaaaa| 国产在线一区二区| 一区二区三区电影在线播| 成人综合婷婷国产精品久久蜜臀 | 丝袜美腿成人在线| 久久日韩粉嫩一区二区三区| 99re6这里只有精品视频在线观看| 亚洲无人区一区| 久久久综合网站| 在线中文字幕不卡| 国产乱码精品一区二区三区av| 精品国产电影一区二区| 色综合久久六月婷婷中文字幕| 久久精品国产精品亚洲综合| 亚洲欧美日韩国产综合| 91丨porny丨最新| 美女一区二区三区| 精品99一区二区| 91成人在线观看喷潮| 国产一区二区看久久| 亚洲午夜精品在线| 欧美激情一区二区三区全黄| 欧美精品xxxxbbbb| 成人黄色免费短视频| 久久97超碰色| 亚洲电影一区二区三区| 中文字幕国产一区| 欧美成人艳星乳罩| 在线不卡的av| 日本道精品一区二区三区| 成人做爰69片免费看网站| 久久精品国产亚洲aⅴ| 亚洲一区二区成人在线观看| 欧美精品黑人性xxxx| 91亚洲永久精品| 国产成人免费av在线| 免费高清在线一区| 石原莉奈一区二区三区在线观看| 亚洲丝袜精品丝袜在线| 欧美经典三级视频一区二区三区| 欧美成人video| 91精品国产色综合久久不卡电影| 精品一区在线看| 丝袜美腿亚洲综合| 亚洲国产一区视频| 亚洲一区二区三区美女| 亚洲色图一区二区| 日韩毛片在线免费观看| 亚洲国产高清不卡| 日本一区二区不卡视频| 中文字幕第一区二区| 久久精品人人做| 欧美亚洲日本一区| 欧美三级资源在线| 欧美色涩在线第一页| 欧美探花视频资源| 欧美乱熟臀69xxxxxx| 91精品国模一区二区三区| 国产超碰在线一区| av日韩在线网站| 美国av一区二区| 免费在线看成人av| 男女男精品网站| 国产一区二区三区黄视频 | 亚洲综合在线五月| 亚洲成人精品在线观看| 亚洲第一av色| 美国十次了思思久久精品导航| 精品中文字幕一区二区| 国产+成+人+亚洲欧洲自线| 99久久婷婷国产综合精品| 欧美在线播放高清精品| 欧美人妇做爰xxxⅹ性高电影| 538在线一区二区精品国产| 日韩欧美色综合网站| 久久久久国产精品麻豆ai换脸 | 日韩精品一区二区三区视频在线观看 | 91免费观看国产| 欧美日韩免费视频| 亚洲精品一区二区三区在线观看| 久久精品亚洲精品国产欧美kt∨| 中文字幕欧美一| 亚洲成a人片在线观看中文| 日韩成人午夜精品| 国产不卡在线播放| 欧美人狂配大交3d怪物一区| 国产日韩欧美不卡在线| 一区二区三区在线观看欧美| 免费高清在线一区| 99久久久久久99| 日韩午夜精品电影| 中文字幕制服丝袜成人av | 亚洲男人的天堂一区二区 | 在线电影院国产精品| 久久久亚洲精华液精华液精华液| 亚洲欧美日韩中文播放 | 色综合久久久久综合体| 日韩精品自拍偷拍| 一区二区三区在线免费| 国内精品久久久久影院薰衣草| 色诱视频网站一区| 亚洲国产精品二十页| 男女激情视频一区| 欧美性大战久久久久久久| 国产色综合久久| 日本强好片久久久久久aaa| 99久久精品国产精品久久| 日韩欧美国产综合| 亚洲综合久久久久| 成人av手机在线观看| 2022国产精品视频| 欧美激情在线看| 精品一区二区影视| 欧美体内she精高潮| 国产精品福利av| 国产成人一区二区精品非洲| 欧美日韩视频不卡| 亚洲综合一区二区| 色一情一伦一子一伦一区| 欧美激情在线一区二区三区| 久久99精品视频| 欧美一区二区三区四区久久| 亚洲在线中文字幕| 91福利视频网站| 一区二区欧美国产| 在线影院国内精品| 亚洲伊人伊色伊影伊综合网| 99精品久久99久久久久| 中文字幕不卡在线| 国产精品一级片| 国产日本亚洲高清| 国产黑丝在线一区二区三区| 久久色在线观看| 国产麻豆视频一区二区| 久久久久久黄色| 国产伦精品一区二区三区免费迷 | 中文子幕无线码一区tr|