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