package com.dy.pipIrrMwTestRtu; import com.dy.common.mw.UnitInterface; import com.dy.common.util.ConfigXml4Springboot; import com.dy.pipIrrMwTestRtu.tcpClient.TcpClUnit; import com.dy.pipIrrMwTestRtu.tcpClient.TcpClUnitConfigVo; import org.jdom2.Document; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.ResourceLoader; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; /** * @Author: liurunyu * @Date: 2024/7/12 8:50 * @Description */ @Component public class Server { @Autowired protected ResourceLoader resourceLoader ; private ConfigXml4Springboot conf = null ; private Document doc = null ; private boolean showStartInfo = false ; private String mwServerUrl ; private List units = new ArrayList() ; /* * @param args 参数 public static void main(String[] args) { new Server().startServer(); } */ /** * 启动服务 */ public void startServer(){ long start = System.currentTimeMillis() ; try { //ConfigProperties.init(this.getClass().getResourceAsStream("/config/config.properties"), false); this.conf = new ConfigXml4Springboot() ; this.doc = this.conf.createDom(resourceLoader, "config.xml") ; //////////////// //服务 配置 this.showStartInfo = this.conf.getSetAttrBoolean(this.doc, "config.server", "showStartInfo", null, null) ; this.startUnits() ; String svName ; try{ svName = this.conf.getSetAttrTxt(this.doc, "config.server", "name", null, false, null) ; }catch(Exception e){ svName = "" ; } String company ; try{ company = this.conf.getSetAttrTxt(this.doc, "config.server", "company", null, true, null) ; }catch(Exception e){ company = "" ; } System.out.println("OOOOOOOOOO OOOOOOOO OOOOOOOO") ; System.out.println("@@@@@@@@@@@@@@@@#O $@@@@@@@@& @@@@@@@@#") ; System.out.println("@@@@@@@@@@@@@@@@@@@# @@@@@@@@# $@@@@@@@@&") ; System.out.println("@@@@@@@@@@@@@@@@@@@@@# #@@@@@@@@@@@@@@@@O") ; System.out.println("@@@@@@@@@@@@@@@@@@@@@@@ &@@@@@@@@@@@@@@") ; System.out.println("@@@@@@$ $@@@@@@@@@& O@@@@@@@@@@@#") ; System.out.println("@@@@@@$ @@@@@@@@@ @@@@@@@@@& " + svName ) ; System.out.println("@@@@@@$ O@@@@@@@@@ &@@@@@@@@") ; if(this.mwServerUrl != null){ System.out.println("@@@@@@$ O@@@@@@@@@ &@@@@@@@@ 中间件服务端 " + this.mwServerUrl ) ; }else{ System.out.println("@@@@@@$ O@@@@@@@@@ &@@@@@@@@") ; } System.out.println("@@@@@@$ #@@@@@@@@@$ &@@@@@@@@" ) ; System.out.println("@@@@@@@@@@@@@@@@@@@@@@# &@@@@@@@@ Runing in standalone mode" ) ; System.out.println("@@@@@@@@@@@@@@@@@@@@@& &@@@@@@@@ Startup in " + (System.currentTimeMillis() - start) + " MS" ) ; System.out.println("@@@@@@@@@@@@@@@@@@@# &@@@@@@@@ " + company) ; System.out.println("@@@@@@@@@@@@@@@@#O &@@@@@@@@") ; }catch(Exception e){ e.printStackTrace(); } } private void startUnits() { try { // /////////////// // 基础配置 ServerProperties.rtuAddr = conf.getSetAttrTxt(doc, "config.base", "rtuAddr", null, false, null); ServerProperties.onlyOneHeartBeat = conf.getSetAttrBoolean(doc, "config.base", "onlyOneHeartBeat", null, null); ServerProperties.icCardAddr = conf.getSetAttrTxt(doc, "config.base", "icCardAddr", null, false, null); ServerProperties.icCardNo = conf.getSetAttrTxt(doc, "config.base", "icCardNo", null, false, null); // /////////////// // TCP 模块 TcpClUnitConfigVo tcpVo = new TcpClUnitConfigVo(); tcpVo.mwServerIp = conf.getSetAttrTxt(doc, "config.tcpCl", "mwServerIp", null, false, null); tcpVo.mwServerPort = conf.getSetAttrPlusInt(doc, "config.tcpCl", "mwServerPort", null, 100, 65535, null); tcpVo.connectTimeout = conf.getSetAttrPlusInt(doc, "config.tcpCl", "connectTimeout", null, 1000, 10000, null); this.mwServerUrl = tcpVo.mwServerIp + ":" + tcpVo.mwServerPort ; AdapterImp_TcpClUnit tcpAdap = new AdapterImp_TcpClUnit(); tcpAdap.setConfig(tcpVo); TcpClUnit tcpUnit = TcpClUnit.getInstance(); tcpUnit.setAdapter(tcpAdap); tcpUnit.start(obj -> { }); units.add(tcpUnit) ; }catch (Exception e){ e.printStackTrace(); } } }