|  |  |  | 
|---|
|  |  |  | import org.jdom2.Document; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.dy.common.mw.UnitInterface; | 
|---|
|  |  |  | import com.dy.common.mw.UnitStartedCallbackInterface; | 
|---|
|  |  |  | import com.dy.common.mw.UnitCallbackInterface; | 
|---|
|  |  |  | import com.dy.common.mw.channel.rmi.RmiConfigVo; | 
|---|
|  |  |  | import com.dy.common.mw.channel.rmi.RmiUnit; | 
|---|
|  |  |  | import com.dy.common.util.ConfigXml; | 
|---|
|  |  |  | import com.dy.common.util.NumUtil; | 
|---|
|  |  |  | import com.dy.common.util.ConfigXmlNoSpringboot; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public class Server{ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private ConfigXml conf = null ; | 
|---|
|  |  |  | private ConfigXmlNoSpringboot conf = null ; | 
|---|
|  |  |  | private Document doc = null ; | 
|---|
|  |  |  | private boolean showStartInfo = false ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | Server sv = new Server(); | 
|---|
|  |  |  | long start = System.currentTimeMillis() ; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | sv.conf = new ConfigXml() ; | 
|---|
|  |  |  | sv.doc = sv.conf.createDom(sv.getClass(), "/config.xml") ; | 
|---|
|  |  |  | sv.conf = new ConfigXmlNoSpringboot() ; | 
|---|
|  |  |  | sv.doc = sv.conf.createDom(sv.getClass(), "config.xml") ; | 
|---|
|  |  |  | //////////////// | 
|---|
|  |  |  | //服务 配置 | 
|---|
|  |  |  | sv.showStartInfo = sv.conf.getSetAttrBoolean(sv.doc, "config.server", "showStartInfo", null, null) ; | 
|---|
|  |  |  | 
|---|
|  |  |  | if(txt.startsWith("0")){ | 
|---|
|  |  |  | throw new Exception("元素config.base的属性rtuAddrStart的数值不能以0开头!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(txt.length() != 10){ | 
|---|
|  |  |  | throw new Exception("元素config.base的属性rtuAddrStart的数值长度必须为10位!"); | 
|---|
|  |  |  | if(!(txt.length() == 10 || txt.length() == 12)){ | 
|---|
|  |  |  | throw new Exception("元素config.base的属性rtuAddrStart的数值长度必须为10位或12位!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ServerProperties.rtuAddrStart = Long.valueOf(txt) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | if(txt.startsWith("0")){ | 
|---|
|  |  |  | throw new Exception("元素config.base的属性rtuAddrEnd的数值不能以0开头!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(txt.length() != 10){ | 
|---|
|  |  |  | throw new Exception("元素config.base的属性rtuAddrEnd的数值长度必须为10位!"); | 
|---|
|  |  |  | if(!(txt.length() == 10 || txt.length() == 12)){ | 
|---|
|  |  |  | throw new Exception("元素config.base的属性rtuAddrEnd的数值长度必须为10位或12位!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ServerProperties.rtuAddrEnd = Long.valueOf(txt) ; | 
|---|
|  |  |  | if(ServerProperties.rtuAddrEnd <= ServerProperties.rtuAddrStart){ | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ServerProperties.tcpServerIp = conf.getSetAttrTxt(doc, "config.base", "tcpServerIp", null, false, null) ; | 
|---|
|  |  |  | ServerProperties.tcpServerPort = conf.getSetAttrPlusInt(doc, "config.base", "tcpServerPort", null, 1, 65535, null) ; | 
|---|
|  |  |  | ServerProperties.sendInterval = conf.getSetAttrPlusInt(doc, "config.base", "sendInterval", null, 1, null, null) ; | 
|---|
|  |  |  | ServerProperties.heartbeatTimes = conf.getSetAttrPlusInt(doc, "config.base", "heartbeatTimes", null, 1, null, null) ; | 
|---|
|  |  |  | ServerProperties.sendTimes = conf.getSetAttrPlusInt(doc, "config.base", "sendTimes", null, 1, null, null) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ServerProperties.sendOverThenCloseConnect = conf.getSetAttrPlusInt(doc, "config.base", "sendOverThenCloseConnect", null, 0, 1, null) ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ///////////////// | 
|---|
|  |  |  | //RMI模块 | 
|---|
|  |  |  | 
|---|
|  |  |  | rmiAdap.setConfig(rmiVo); | 
|---|
|  |  |  | RmiUnit rmiUnit = RmiUnit.getInstance(); | 
|---|
|  |  |  | rmiUnit.setAdapter(rmiAdap); | 
|---|
|  |  |  | rmiUnit.start(new UnitStartedCallbackInterface(){ | 
|---|
|  |  |  | rmiUnit.start(new UnitCallbackInterface(){ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void call(Object obj) { | 
|---|
|  |  |  | } | 
|---|