📄 mosender.java
字号:
package com.wireless.sms.gwif.smsagent.workthread;
import java.util.*;
import com.wireless.gwif.socketconn.*;
import com.wireless.sms.pub.entity.MO;
import com.wireless.sms.gwif.smsagent.global.*;
//import com.wireless.sms.pub.net.MOClientSocket;
//import org.apache.log4j.Logger;
import com.wireless.sms.pub.mq.*;
import org.apache.log4j.xml.DOMConfigurator;
public class MoSender {
private static MOQueue moqueue = GetMoMtGlobalForUsual.moqueue;
// private static Logger log = LoggerConstant.mo_log;
private static Vector vosa = new Vector();
private static boolean startFlag = false;
public static void start(String[] hosts, String[] ports) {
if( startFlag )
return;
else
startFlag = true;
for(int i=0; i<hosts.length && i<ports.length; i++){
ObjectSendAdapter osa = new ObjectSendAdapter();
ObjectSendAdapter.Templet send = osa.new Templet() {
public void processSend() {
if (moqueue.size() > 0 && !isClosed()) {
Object obj = moqueue.removeNoWait();
if( obj == null )
return;
boolean sendFlag = send(obj);
if (!sendFlag) {
moqueue.add(obj);
//SmsGWIFGlobal.sendMonitor("D000101");
log.error("gateway : " + SmsGWIFGlobal.getInstance().GATEWAY + " fail send mt to router!");
}
}
}
/**
* 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("D000101");
log.info("Reconnecting... ");
ClientController.restart(this);
}
}
public void processClosed(){
if( this.idleFlag ){
ClientController.restart(this);
}
}
};
osa.start(send, hosts[i], ports[i]);
vosa.add(osa);
}
}
public static void stop(){
for(int i=0; i<vosa.size(); i++){
ObjectSendAdapter tmposa = (ObjectSendAdapter)vosa.elementAt(i);
if (startFlag && tmposa != null) {
tmposa.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();
}
for(int i=0; i<2; i++){
MO mo = new MO();
mo.setMsgContent("MO 信息 : " + i + " 测试状态");
GetMoMtGlobalForUsual.moqueue.add(mo);
}
// MoSender.start(SmsGWIFGlobal.MOOUT_IP, SmsGWIFGlobal.MOOUT_PORT);
MoSender.start(new String[]{"127.0.0.1"}, new String[]{"9000"});
// MoSender.start(new String[]{"192.168.2.85"}, new String[]{"9000"});
new Thread(){
public void run(){
try{
Thread.sleep(1*60*1000);
}catch(Exception e){}
MoSender.stop();
}
}.start();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -