|  |  | 
 |  |  | 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) { | 
 |  |  |                } |