package com.dy.rtuMw3rd; import com.dy.common.mw.UnitInterface; import com.dy.common.util.ConfigXml4Springboot; import com.dy.rtuMw3rd.http4Xjnk.HttpUnit; import com.dy.rtuMw3rd.http4Xjnk.HttpUnitConfigVo; import com.dy.rtuMw3rd.tcp4Bjnl.TcpClUnit; import com.dy.rtuMw3rd.tcp4Bjnl.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: 2025/03/18 15:49 * @Description */ @Component public class Server { @Autowired protected ResourceLoader resourceLoader ; private ConfigXml4Springboot conf = null ; private Document doc = null ; private boolean showStartInfo = false ; private List units = new ArrayList() ; /** * 启动服务 */ public void startServer() { long start = System.currentTimeMillis(); try { 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("0O0OOOOOOOOO00 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(ServerProperties.BjnlServerIp != null){ System.out.println("@@@@@@@$ O@@@@@@@@@ &@@@@@@@@ 北京农林服务 " + (ServerProperties.BjnlServerIp + " " + ServerProperties.BjnlServerPort) ) ; }else{ System.out.println("@@@@@@@$ O@@@@@@@@@ &@@@@@@@@") ; } if(ServerProperties.XjnkServerHttpsBaseUrl != null){ System.out.println("@@@@@@@$ O@@@@@@@@@ &@@@@@@@@ 新疆农垦--服务 " + (ServerProperties.XjnkServerHttpsBaseUrl) ) ; }else{ System.out.println("@@@@@@@$ O@@@@@@@@@ &@@@@@@@@") ; } System.out.println("@@@@@@@$ #@@@@@@@@@$ &@@@@@@@@") ; System.out.println("@@@@@@@@@@@@@@@@@@@@@@@# &@@@@@@@@ Running 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 { // /////////////// // http 模块 HttpUnitConfigVo httpVo = new HttpUnitConfigVo(); httpVo.httpsBaseUr = this.conf.getSetAttrTxt(this.doc, "config.xjnk", "httpsBaseUrl", null, false, null) ; httpVo.appid = this.conf.getSetAttrTxt(this.doc, "config.xjnk", "appid", null, false, null) ; httpVo.secret = this.conf.getSetAttrTxt(this.doc, "config.xjnk", "secret", null, false, null) ; httpVo.flushDataFromSvInterval = conf.getSetAttrPlusInt(this.doc, "config.xjnk", "flushDataFromSvInterval", null, 1, 7200000, null) ; ServerProperties.XjnkServerHttpsBaseUrl = httpVo.httpsBaseUr ; AdapterImp_HttpUnit httpAdapt = new AdapterImp_HttpUnit(); httpAdapt.setConfig(httpVo); HttpUnit httpUnit = HttpUnit.getInstance(); httpUnit.setAdapter(httpAdapt); httpUnit.start(obj -> { }); units.add(httpUnit) ; // /////////////// // TCP 模块 TcpClUnitConfigVo tcpVo = new TcpClUnitConfigVo(); tcpVo.BjnlServerIp = this.conf.getSetAttrTxt(this.doc, "config.bjnl", "ip", null, false, null) ; tcpVo.BjnlServerPort = conf.getSetAttrPlusInt(this.doc, "config.bjnl", "port", null, 1, 65536, null) ; tcpVo.BjnlConnectTimeout = conf.getSetAttrPlusInt(this.doc, "config.bjnl", "connectTimeout", null, 1, 65536, null) ; tcpVo.BjnlApikey = this.conf.getSetAttrTxt(this.doc, "config.bjnl", "apikey", null, false, null) ; tcpVo.BjnlSecretkey = this.conf.getSetAttrTxt(this.doc, "config.bjnl", "secretkey", null, false, null) ; tcpVo.heartBeatInterval = conf.getSetAttrPlusInt(this.doc, "config.bjnl", "heartBeatInterval", null, 1, 3600000, null) ; ServerProperties.BjnlServerIp = tcpVo.BjnlServerIp ; ServerProperties.BjnlServerPort = tcpVo.BjnlServerPort ; AdapterImp_TcpClUnit tcpAdapt = new AdapterImp_TcpClUnit(); tcpAdapt.setConfig(tcpVo); TcpClUnit tcpUnit = TcpClUnit.getInstance(); tcpUnit.setAdapter(tcpAdapt); tcpUnit.start(obj -> { }); units.add(tcpUnit) ; }catch (Exception e){ e.printStackTrace(); } } }