⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 provisionprocess.java

📁 MISC接口程序provision接口程序。 SP专用
💻 JAVA
字号:
package com.sms.platform.provision.SMS;

import com.sms.entity.*;
import com.sms.flow.*;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.BufferedOutputStream;
import javax.servlet.ServletException;
import java.io.BufferedInputStream;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;


/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class ProvisionProcess extends HttpServlet {
    static final private String CONTENT_TYPE = "text/xml";
    //log4j日志
    private Logger log = Logger.getLogger(ProvisionProcess.class);
    Queue queue = Queue.getInstance();
    public ProvisionProcess() {
        //Global global = Global.getInstance();
//        MO mo = new MO();
//        mo.setMsgID(System.nanoTime());
//        mo.setDestTermID("");
//        mo.setSrcTermID("13881964246");
//        mo.setMsgContent("pa1981");
//        mo.setGateWayID(1);
//        mo.setSpnumber("5198");
//        mo.setMsgFormat(15);
//        mo.setTermID(10000);
//        mo.setFlowSymbol(FlowID.MO_MsgInfo, IEntity.Flow_Set);
//        mo.setFlowSymbol(FlowID.MO_Router, IEntity.Flow_Set);
//        mo.setFlowSymbol(FlowID.MO_Chanl, IEntity.Flow_Set);
//        mo.setFlowSymbol(FlowID.MO_DeliverToApp, IEntity.Flow_Set);
//        mo.setFlowSymbol(FlowID.Pub_SaveDatabase, IEntity.Flow_Set);
//        mo.setFlowSymbol(FlowID.FlowID_SRCPV, IEntity.Flow_Set);
//        mo.setFlowSymbol(FlowID.FlowID_Order, IEntity.Flow_Set);
//        global.saveMO(mo);
    }

//    public void init() throws ServletException {
//        try {
//            DealQueue dq = new DealQueue();
//            dq.start();
//        }catch (Exception ex) {
//        ex.printStackTrace();
//        }
//    }

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      doPost(request,response);
    }

    //Process the HTTP Get request
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
        BufferedOutputStream bout =  new BufferedOutputStream(response.getOutputStream());
        MiscSystem misc = MiscSystem.getInstance();
        misc.syslog.info("Request from Client: " + request.getRemoteAddr());
        BufferedInputStream bin = null;
        SyncOrder sync = null;
        try{

            bin  = new BufferedInputStream(request.getInputStream());
            int len    = request.getContentLength();
            byte[] tmp = new byte[len];
            bin.read(tmp);
            // trim
            tmp = new String(tmp).trim().getBytes();

            misc.syslog.info("Get XML : \n");
            misc.syslog.info(new String(tmp));
            misc.syslog.info("get SyncOrder : \n");

            //将接收到的所有数据名写入单独的日志
            misc.receiver_log.info("Get XML : \n");
            misc.receiver_log.info(new String(tmp) + "\n\n\n");

            try {
              sync = MiscFunc.getSyncOrder(tmp);

              //将接收到的所有数据名写入单独的DBLOAD日志
              String wk_datestr=DatetimeUtils.getNowDateTimeString();
              String wk_logLineStr=wk_datestr+"\t"+sync.getDestUser().getMsisdn()+ "\t" +
                                   sync.getFeeUser().getMsisdn()+ "\t" +
                                   sync.getKeyStr() + "\t" +
                                   sync.getAccessMode() + "\t" +
                                   sync.getActionId() + "\t" +
                                   sync.getActionReasonId() + "\t" +
                                   sync.getFeatureStr() + "\t" +
                                   sync.getGetWayIDStr() + "\t" +
                                   sync.getLinkId() + "\t" +
                                   sync.getLongCodeStr() + "\t" +
                                   sync.getSpId() + "\t" +
                                   sync.getSpNumStr() + "\t" +
                                   sync.getSpServiceId() + "\t" +
                                   sync.getTransactionId() + "";
              misc.DbLoadMOreceiver_log.info(wk_logLineStr);//将接收到的所有数据名写入单独的DBLOAD日志
            }
            catch (Exception ex) {
              misc.syslog.error("001 : ",ex);
            }
            try {
              //MiscFunc.doDBRecord(sync);//数据库处理
              queue.add(sync);

            }
            catch (Exception ex) {
              misc.syslog.error("002 : ",ex);
            }
            SyncOrderResp resp = new SyncOrderResp();
            resp.setHRet("0");
            resp.setTransactionId(sync.getTransactionId());
            resp.setVersion("1.5.0");
            misc.syslog.info(resp);
            bout.write(resp.toString().getBytes("UTF-8"));
            bout.flush();
            misc.syslog.info("-------------------<sync.getActionId()----->"+sync.getActionId());
            misc.syslog.info("-------------------<sync.getKeyStr()----->"+sync.getKeyStr()+"<----------");
            misc.syslog.info("-------------------<sync.getFeatureStr()----->"+sync.getFeatureStr()+"<----------");
            try{
              Thread.currentThread().sleep(5);
            }catch(Exception ex){
              misc.syslog.error("",ex);
            }
            //ch.close();
            //模拟一个MO发送结束
//        }catch(ProvisionException e){
//            misc.syslog.error("",e);
//            SyncOrderResp resp = new SyncOrderResp();
//            resp.setHRet("" + e.getErrorCode());
//            resp.setTransactionId(sync.getTransactionId());
//            resp.setVersion("1.5.0");
//            bout.write(resp.toString().getBytes("UTF-8"));
//            bout.flush();
        }
        catch(Throwable t){
            misc.syslog.error("",t);
            SyncOrderResp resp = new SyncOrderResp();
            resp.setHRet("" + 1);
            resp.setTransactionId(sync.getTransactionId());
            resp.setVersion("1.5.0");
            bout.write(resp.toString().getBytes("UTF-8"));
            bout.flush();
        }finally{
            try{
                if(bout != null) bout.close();
                if(bin  != null) bin.close();
            }catch(Exception E){}
        }
    }

    public static void main(String[] args) {
        ProvisionProcess pp = new ProvisionProcess();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -