| New file | 
|  |  |  | 
|---|
|  |  |  | package com.dy.simRtu202404; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.dy.common.mw.UnitInterface; | 
|---|
|  |  |  | import com.dy.common.util.ConfigXml4Springboot; | 
|---|
|  |  |  | import com.dy.simRtu202404.tcpClient.TcpClUnit; | 
|---|
|  |  |  | import com.dy.simRtu202404.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: 2025/02/26 11:03 | 
|---|
|  |  |  | * @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("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(ServerProperties.serverIp != null){ | 
|---|
|  |  |  | System.out.println("@@@@@@$       O@@@@@@@@@     &@@@@@@@@       远程中间件服务 " + (ServerProperties.serverIp + " " + ServerProperties.serverPort) ) ; | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | System.out.println("@@@@@@$       O@@@@@@@@@     &@@@@@@@@") ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | System.out.println("@@@@@@$      #@@@@@@@@@$     &@@@@@@@@       本RTU地址 " + ServerProperties.rtuAddr ) ; | 
|---|
|  |  |  | 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 { | 
|---|
|  |  |  | // /////////////// | 
|---|
|  |  |  | // TCP 模块 | 
|---|
|  |  |  | TcpClUnitConfigVo tcpVo = new TcpClUnitConfigVo(); | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|