📄 processsubcode.java~58~
字号:
import Utilities.Engine;
import java.io.*;
import XML.*;
import XML.XMLException.*;
import java.util.*;
import Services.*;
import Utilities.*;
/**
* <p>Title: InHand SMS platform XMLRouter</p>
* <p>Description: InHand 短信服务平台服务路由器</p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: 北京映翰通网络技术有限公司</p>
* @author 韩传俊 shock2000@21cn.com
* @version 1.0
*/
public class ProcessSubcode extends Engine {
public ProcessSubcode() {
super("processSubcode");
}
public void run(){
String xmlStr="";
while(isRunning()){
if(!Config.subcode_queue.isEmpty()){
xmlStr=(String)Config.subcode_queue.pop();
//if (xmlStr!=null){
processXMLStr(xmlStr);
//}
}else{
nap();
}
}
this.shutdown();
Config.log.log("Thread processSubcode is shutdown!");
}
private void processXMLStr(String xmlStr){
String xmlstr=xmlStr.toLowerCase();
ParseXML xml=new ParseXML();
xml.parse(xmlstr);
String subcode="";
ServiceInfo serviceInfo;
String gateway="";
String msg_content="";
if (xmlstr.startsWith("<cmpp_d")){
subcode=xml.getStringValue("/cmpp_deliver/destination_id");
String src_terminal_id=xml.getStringValue("/cmpp_deliver/src_terminal_id");
gateway=xml.getStringValue("/cmpp_deliver/source/name");
msg_content=xml.getStringValue("/cmpp_deliver/msg_content");
int registered_delivery=xml.getIntValue("/cmpp_deliver/registered_delivery");
if(registered_delivery !=0 ){
for (int i=0;i<Config.subcode_item.size();i++){
serviceInfo=(ServiceInfo)Config.subcode_item.elementAt(i);
if(serviceInfo.is_connect!=false && serviceInfo.m_socket!=null){
while(!serviceInfo.data.push(xmlStr))nap();
//System.out.println("----in processsubcode.processxmlstr()send other");
}
}
}else{
if (!msg_content.startsWith("30303030") && !msg_content.startsWith("0030003000300030")){
for (int i=0;i<Config.subcode_item.size();i++){
serviceInfo=(ServiceInfo)Config.subcode_item.elementAt(i);
if (serviceInfo.checkValid(subcode)){
if (serviceInfo.is_connect!=false && serviceInfo.m_socket!=null){
while(!serviceInfo.data.push(xmlStr))nap();
}else{
//System.out.println("----in processsubcode.processxmlstr().not null");
Config.send_queue.push("<cmpp_submit><destination><name>"+gateway+"</name></destination><src_terminal_id>"+subcode+"</src_terminal_id><dest_terminal_id>"+src_terminal_id+"</dest_terminal_id><pk_total>1</pk_total><pk_number>1</pk_number><service_id>tsxx</service_id><msg_fmt>15</msg_fmt><msg_content>"+Utility.toHexString(Config.is_not_working)+"</msg_content></cmpp_submit>");
}
xml.release();
return ;
}
}
Config.send_queue.push("<cmpp_submit><destination><name>"+gateway+"</name></destination><src_terminal_id>"+subcode+"</src_terminal_id><dest_terminal_id>"+src_terminal_id+"</dest_terminal_id><pk_total>1</pk_total><pk_number>1</pk_number><service_id>tsxx</service_id><msg_fmt>15</msg_fmt><msg_content>"+Utility.toHexString(Config.no_such_service)+"</msg_content></cmpp_submit>");
}else{
for (int i=0;i<Config.subcode_item.size();i++){
serviceInfo=(ServiceInfo)Config.subcode_item.elementAt(i);
if(serviceInfo.is_connect!=false && serviceInfo.m_socket!=null){
while(!serviceInfo.data.push(xmlStr))nap();
//System.out.println("----in processsubcode.processxmlstr()send other");
}
}
}
}
}else{
for (int i=0;i<Config.subcode_item.size();i++){
serviceInfo=(ServiceInfo)Config.subcode_item.elementAt(i);
if(serviceInfo.is_connect!=false && serviceInfo.m_socket!=null){
while(!serviceInfo.data.push(xmlStr)) nap();
//System.out.println("----in processsubcode.processxmlstr()send other");
}
}
}
xml.release();
}
public static void main(String[] args) {
//ProcessSubcode processSubcode1 = new ProcessSubcode();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -