Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.puzzle.module.send.excutor; import com.puzzle.module.send.checkXml.XmlCheckResult; import com.puzzle.module.send.checkXml.xmlCheck; import com.puzzle.module.send.kafka10.KafkaProducerClient; import com.puzzle.module.send.sign.SignXml; import com.puzzle.module.send.spliteXml.SpliteXml; import com.puzzle.util.DateUtil; import com.puzzle.util.FileDto; import com.puzzle.util.JtableMessageDto; import com.puzzle.util.QueueUtils; import java.io.File; import java.util.Date; import org.apache.commons.io.FileUtils; import org.apache.log4j.Logger; /** * 1. 2.?? 3.??? * 4.????(???) * * ?MQ?? * * @author Administrator */ public class MessageSendExcutor { private static Logger log = Logger.getLogger(MessageSendExcutor.class); public void excute(File xml) { KafkaProducerClient client = null; try { String content = FileUtils.readFileToString(xml, "UTF-8"); XmlCheckResult checkResult = xmlCheck.isValid(content); if (!checkResult.isValid) {// FileUtils.copyFileToDirectory(xml, new File(FileDto.getSingleInstance().errorPath), true); log.error(xml.getAbsolutePath() + ""); return; } boolean tr = true; if (content.indexOf("<CEB625Message") != -1 || content.indexOf("<CEB623Message") != -1 || content.indexOf("<CEB711Message") != -1 || content.indexOf("<CEB513Message") != -1) {//? String signedXml = SignXml.sign2(content); if (signedXml == null || signedXml.equals("")) { return; } File signFile = new File(FileDto.getSingleInstance().fileSignPath, "???-" + DateUtil.getCurrDateMM2() + xml.getName()); FileUtils.writeStringToFile(signFile, signedXml, "UTF-8"); if (FileDto.getSingleInstance().sendCusisSelected) { client = KafkaProducerClient.getSingletonInstance(); client.send(FileDto.getSingleInstance().cusSendTopic, signedXml); QueueUtils.sendSignTable.offer(new JtableMessageDto(signFile.getAbsolutePath(), DateUtil.getFormatDateTime(new Date()))); log.info(xml.getName() + "???"); } } else { String splitXml = SpliteXml.splite(content); if (splitXml == null) { return; } log.info(xml.getName() + ""); splitXml = SignXml.sign(splitXml);// ???? if (splitXml == null) { log.info("?>>>>??"); return; } File signFile = new File(FileDto.getSingleInstance().fileSignPath, "???-" + DateUtil.getCurrDateMM2() + xml.getName()); FileUtils.writeStringToFile(signFile, splitXml, "UTF-8"); // if (FileDto.getSingleInstance().sendCusisSelected) { client = KafkaProducerClient.getSingletonInstance(); client.send(FileDto.getSingleInstance().cusSendTopic, splitXml); QueueUtils.sendSignTable.offer(new JtableMessageDto(signFile.getAbsolutePath(), DateUtil.getFormatDateTime(new Date()))); log.info(xml.getName() + "???"); } if (FileDto.getSingleInstance().sendCiqisSelected) { client = KafkaProducerClient.getSingletonInstance(); client.send(FileDto.getSingleInstance().sendTpoic, content);//??? QueueUtils.sendTable1.offer( new JtableMessageDto(xml.getAbsolutePath(), DateUtil.getFormatDateTime(new Date()))); log.info(xml.getName() + "???"); } } } catch (Exception e) { e.printStackTrace(); if (client != null) { client.close(); } } } }