KAKO_Sender.java 2.4 KB
package com.sy.IMF;

import com.caac.imf.api.IMFClient;
import com.sy.utils.DateTimeConverter;
import com.sy.utils.FileTool;
import com.sy.utils.MakeImfMeta;
import org.apache.commons.io.FileUtils;
import org.apache.log4j.Logger;

import java.io.File;
import java.util.List;

public class KAKO_Sender extends Thread{

    protected static final Logger logger = Logger.getLogger(KAKO_Sender.class);
    public static  boolean isrunning;
    private IMFClient client;
    private String content;
    public KAKO_Sender(IMFClient client) {
        this.client = client;
    }
    public KAKO_Sender(IMFClient client, String content) {
        this.client = client;
        this.content = content;
    }

    public void run(){
        try {
            String sendDir   = FileTool.readProperties("readDirectory");
            String SNDR = FileTool.readProperties("loginname");
            String TYPE =  FileTool.readProperties("TYPE");
            String STYP =  FileTool.readProperties("STYP");
            String RCVR =  FileTool.readProperties("RCVR");
            String DDTM = DateTimeConverter.dateFormat();
            String SEQN = DDTM;

            if (this.client == null) {
                logger.info("IMFClient has been closed");
                return;
            }
            isrunning=true;
            if(IMF_Tesk.LOGIN_OK){
                while (true){
                    List<File> files = FileTool.readDirectoryFiles(new File(sendDir));
                    for (File file:files) {
                        String fileContent =  FileTool.readfile(file);
                        String sendMsg = MakeImfMeta.makeImfDocument(SNDR,RCVR,TYPE,STYP,DDTM,SEQN,fileContent);
                        String returnMsg = this.client.sendMSG(sendMsg);
                        //发送成功处理,删除已发送成功的目录下的文件
                        if(returnMsg.indexOf("<CODE>9</CODE>")>=0){
                            FileUtils.forceDelete(file);
                        }
                    }
                    try {
                        Thread.sleep(500L);
                    } catch (InterruptedException var3) {
                        var3.printStackTrace();

                    }
                }

            }

        }catch (Exception var14) {
            var14.printStackTrace();
            logger.info(var14.getMessage());
        }
        isrunning=false;
        logger.info("<<<<<<<<<<<发送线程不在了>>>>>>>>>>>>");
    }
}