📄 processserviceid.java~67~
字号:
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 ProcessServiceID extends Engine{
public ProcessServiceID() {
super("processServiceID");
}
public void run(){
String xmlStr="";
while(isRunning()){
if(!Config.service_id_queue.isEmpty()){
xmlStr=(String)Config.service_id_queue.pop();
if (xmlStr!=null){
processXMLStr(xmlStr);
}
}else{
nap();
}
}
this.shutdown();
Config.log.log("Thread processServiceID is shutdown!");
}
private void processXMLStr(String xmlStr){
String xmlstr=xmlStr.toLowerCase();
ParseXML xml=new ParseXML();
xml.parse(xmlstr);
String service_id="";
ServiceInfo serviceInfo;
String dest_terminal_id="";
if (xmlstr.startsWith("<cmpp_d")){
service_id=xml.getStringValue("/cmpp_deliver/msg_content");
int msg_fmt=xml.getIntValue("/cmpp_deliver/msg_fmt");
dest_terminal_id=xml.getStringValue("/cmpp_deliver/destination_id");
String src_terminal_id=xml.getStringValue("/cmpp_deliver/src_terminal_id");
String gateway=xml.getStringValue("/cmpp_deliver/source/name");
int registered_delivery=xml.getIntValue("/cmpp_deliver/registered_delivery");
if(registered_delivery !=0){
for (int i=0;i<Config.service_id_item.size();i++){
serviceInfo=(ServiceInfo)Config.service_id_item.elementAt(i);
if(serviceInfo.is_connect!=false && serviceInfo.m_socket!=null){
while(!serviceInfo.data.push(xmlStr)) nap();
}
}
}else{
if (!service_id.startsWith("30303030") && !service_id.startsWith("0030003000300030")){
for (int i=0;i<Config.service_id_item.size();i++){
serviceInfo=(ServiceInfo)Config.service_id_item.elementAt(i);
if (serviceInfo.checkServiceValid(service_id,msg_fmt)){
if (serviceInfo.is_connect!=false && serviceInfo.m_socket!=null){
while(!serviceInfo.data.push(xmlStr)) nap();
serviceInfo.incMo();
}else{
Config.send_queue.push("<cmpp_submit><destination><name>"+gateway+"</name></destination><src_terminal_id>"+dest_terminal_id+"</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>"+dest_terminal_id+"</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.service_id_item.size();i++){
serviceInfo=(ServiceInfo)Config.service_id_item.elementAt(i);
if(serviceInfo.is_connect!=false && serviceInfo.m_socket!=null){
while(!serviceInfo.data.push(xmlStr))nap();
}
}
}
}
}else{
for (int i=0;i<Config.service_id_item.size();i++){
serviceInfo=(ServiceInfo)Config.service_id_item.elementAt(i);
if(serviceInfo.is_connect!=false && serviceInfo.m_socket!=null){
while(!serviceInfo.data.push(xmlStr))nap();
}
}
}
xml.release();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -