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(); |
| | | } |
| | | } |
| | | } |