CDHZSender.java 2.4 KB
package com.airport.core;

import com.airport.bean.MessageBak;
import com.airport.bean.XMLHeader;
import com.airport.dao.Dao;
import com.airport.dao.impl.DaoImpl;
import com.airport.util.ConfigUtils;
import com.airport.util.SystemBean;
import com.airport.util.Utils;
import com.airport.util.parse.IMFXMLMaker;
import com.airport.util.parse.XMPParse;
import com.caac.imf.api.IMFClient;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;

import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class CDHZSender extends Thread {
    private static final Logger logger = Logger.getLogger(IMFNoDelaySender.class);
    private Dao dao = (DaoImpl) SystemBean.getBean("dao");
    private IMFClient client;
    private String indexFileName;  //记录发送数据的节点
    private String sql;
    private String sqlMax;

    public CDHZSender(IMFClient client, String fileName,String sql,String sqlMax) {
        this.indexFileName = fileName;
        this.client = client;
        this.sql=sql;
        this.sqlMax=sqlMax;
    }


    public void run() {
        try {

            if (this.client == null) {
                logger.info("IMFClient has been closed");
                return;
            }

            String msg = "<MSG><META><SNDR>KAKO</SNDR><RCVR/><SEQN>Z-001</SEQN><DDTM>20181008112408256</DDTM><TYPE>KAKO</TYPE><STYP>CARM</STYP></META><BODY>TEST</BODY></MSG>";
            sendXml(msg);

        }catch (Exception var14) {
            var14.printStackTrace();
            logger.info(var14.getMessage());
        }
    }

    public synchronized void sendXml(String msg){
        logger.info("线程:::"+Thread.currentThread().getName()+"开始发送数据 XML:" + msg);
        String is_send_ok = this.client.sendMSG(msg);
        logger.info("发送回执=" + is_send_ok);
    }

    private static String tranlateXML(String xml) throws Exception {
        String stype = XMPParse.getNodeValueFromXmlString(xml, "/MSG/META/STYP");
        if (!StringUtils.isBlank(stype)) {
            if (ConfigUtils.XTYPE_MAP.containsKey(stype)) {
                stype = (String)ConfigUtils.XTYPE_MAP.get(stype);
            } else {
                logger.info("stype=" + stype + " 在对应关系里找不到这个KEY");
            }
        } else {
            logger.info(" 在XML找不到STYPE这个节点");
            stype = "";
        }

        return stype;
    }
}