mtreceiver.java
来自「中国联通短信通信协议」· Java 代码 · 共 80 行
JAVA
80 行
package com.wireless.sms.gwif.smsagent.workthread;
import java.util.*;
import org.apache.log4j.*;
import com.wireless.sms.pub.entity.*;
import com.wireless.sms.pub.mq.*;
import com.wireless.gwif.socketconn.*;
import com.wireless.sms.gwif.smsagent.global.*;
import org.apache.log4j.xml.DOMConfigurator;
public class MtReceiver {
protected static MTQueue mtqueue = GetMoMtGlobalForUsual.mtqueue;
private static Logger log = LoggerConstant.mtxml_log;
private static Vector vora = new Vector();
private static boolean startFlag = false;
public static void start(String[] ports) {
if( startFlag )
return;
else
startFlag = true;
for(int i=0; i<ports.length; i++){
ObjectReceAdapter ora = new ObjectReceAdapter();
ObjectReceAdapter.Templet receive = ora.new Templet() {
public void receive(Object object) {
MT tmpMT = (MT)object;
mtqueue.add(tmpMT.getMsgLevel(), tmpMT);
log.info(tmpMT.toString());
}
/**
* processException
* @param cause Throwable
*/
public void processException(Throwable cause) {
log.error("Exception : ", cause);
if (cause instanceof java.io.IOException || cause instanceof java.lang.IllegalStateException) {
SmsGWIFGlobal.sendMonitor("R000101");
}
}
};
receive.setLog(log);
ora.start(receive, ports[i]);
vora.add(ora);
}
}
public static void stop(){
for(int i=0; i<vora.size(); i++){
ObjectReceAdapter tmpora = (ObjectReceAdapter)vora.elementAt(i);
if (startFlag && tmpora != null) {
tmpora.stop();
}
}
startFlag = false;
}
public static void main(String args[]){
DOMConfigurator.configure(System.getProperty("log4j"));
try {
SmsGWIFGlobal agent = SmsGWIFGlobal.getInstance();
agent.initYD_System();
} catch (Throwable ex) {
ex.printStackTrace();
}
MtReceiver.start(new String[]{"9000"});
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?