| New file | 
 |  |  | 
 |  |  | 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<UnitInterface> units = new ArrayList<UnitInterface>() ; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 启动服务 | 
 |  |  |      */ | 
 |  |  |     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(); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | } |